tag:blogger.com,1999:blog-42752112269325246302024-03-13T10:04:52.335-07:00Nuwan Arambagesƃuıɥ⊥ ǝǝS I ʎɐʍ ǝɥ⊥Nuwan Arambagehttp://www.blogger.com/profile/14542750830276257387noreply@blogger.comBlogger13125tag:blogger.com,1999:blog-4275211226932524630.post-27556644013925468212016-01-24T10:19:00.001-08:002016-01-24T10:35:59.949-08:00Hmmm ! Open file count in Linux - What My Understanding Is<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">It is not that much simple if
there is an alert triggered on production or test server having higher open
file count. Sometime it happens on busy web infrastructure based on spike traffic
levels. The best effort to try figuring out what make that server to utilize
more open files. Basically, to clear ground it is better to know the <i>lsof</i> command.<o:p></o:p></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<br />
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">The truth is mostly people go
with simple command <i>lsof</i> which displays
all open files. To have more clear description better to read through <i>lsof</i> man page completely. Interesting
parts are highlighted there. Because <i>lsof
</i>command gives much higher value than when you apply filter for particular command,
PID or user. Don’t be fall into traps taking misled values for troubleshooting
purposes.</span><o:p></o:p></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_ONnGXtniF3fRhJIzKXhjOGoBxbeaTiu9yCwNGkwdAKk3fcYSJ6lsD3rWi6FNB_i8dmGtipFzqj-dvRA5MoPGMLG0c4ZnQmnLX2xK3ePjnObbyX1IR4A3JhKiYJsEtnYpZWAr9DKB24zA/s1600/lsof_manpage_description_screenshot_18012016.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="61" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_ONnGXtniF3fRhJIzKXhjOGoBxbeaTiu9yCwNGkwdAKk3fcYSJ6lsD3rWi6FNB_i8dmGtipFzqj-dvRA5MoPGMLG0c4ZnQmnLX2xK3ePjnObbyX1IR4A3JhKiYJsEtnYpZWAr9DKB24zA/s320/lsof_manpage_description_screenshot_18012016.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><span style="font-size: 11pt; line-height: 107%;">Trust
me this is actual values taken from one of production server which is yet to go
on live </span><span style="font-size: 14.6667px; line-height: 15.6933px;">roll-out</span><span style="font-size: 11pt; line-height: 107%;">.</span><span style="font-size: 11pt; line-height: 107%;">Actual count is 290133 open file. I believe you don’t have to fool with that
value taking granted as a exact file descriptor utilization.</span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8H16Zrnc3tnp0kLYCURfs2GbIPvLYuFtVODzuYg87e_qIEZMhwmQ4kRSZFiyroaS_9TYQR7A0pHtVc-Zni9UHd4rkkV1YQ3Xp50JUtLiDIRKfx1dvWBq0KnZJ03fqpZNvH154wAQH4-qa/s1600/lsof_without_options_18012016.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="40" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8H16Zrnc3tnp0kLYCURfs2GbIPvLYuFtVODzuYg87e_qIEZMhwmQ4kRSZFiyroaS_9TYQR7A0pHtVc-Zni9UHd4rkkV1YQ3Xp50JUtLiDIRKfx1dvWBq0KnZJ03fqpZNvH154wAQH4-qa/s320/lsof_without_options_18012016.jpg" width="320" /></a></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">Let’s go with few basic stuff
around the corner to see how you could count open file descriptor for particular
user, command and PID.</span><o:p></o:p></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div class="MsoNormal" style="text-align: justify;">
<b><span style="font-family: "courier new" , "courier" , monospace;">Open File Descriptors for Particular User <br /><br /><o:p></o:p></span></b></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">Counting file descriptors open by
particular user. Here below is the real example where Apache-Tomcat, MySQL Apache
HTTPD and standalone internal java modules are running in single server for
small client requirement.<o:p></o:p></span></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i>[root@RWDAPPSVR tmp]# lsof -u mysql | wc –l<o:p></o:p></i></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i>[root@RWDAPPSVR tmp]# lsof -u rewards | wc –l<o:p></o:p></i></span></div>
<div class="MsoNormal" style="text-align: justify;">
</div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i>[root@RWDAPPSVR tmp]# lsof -u root | wc -l</i></span><i><o:p></o:p></i></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i><br /></i></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3SXIywqCdVKDCb_Yrm93z9EhFkgbHIgZq5TtRozE951gsSHhXf2yu7zmNbJ2sU12AJKLECrrUN1YTBremdyL490jgZbMIzzqpoodASntkIv0WPIFpksFAdRn15D0akWYG3dWA08LCo7Um/s1600/lsof_for_user_18012016.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="45" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3SXIywqCdVKDCb_Yrm93z9EhFkgbHIgZq5TtRozE951gsSHhXf2yu7zmNbJ2sU12AJKLECrrUN1YTBremdyL490jgZbMIzzqpoodASntkIv0WPIFpksFAdRn15D0akWYG3dWA08LCo7Um/s320/lsof_for_user_18012016.jpg" width="320" /></a></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i><br /></i></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i><br /></i></span></div>
<div class="MsoNormal" style="text-align: justify;">
<b><span style="font-family: "courier new" , "courier" , monospace;">Open File Descriptor for Particular Command <br /><br /><o:p></o:p></span></b></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i>[root@RWDAPPSVR tmp]# lsof -c java | wc -l<o:p></o:p></i></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i>[root@RWDAPPSVR tmp]# lsof -c
mysqld | wc -l<o:p></o:p></i></span></div>
<div class="MsoNormal" style="text-align: justify;">
</div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i>[root@RWDAPPSVR tmp]# lsof -c
httpd | wc –l</i></span><i><o:p></o:p></i></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i><br /></i></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i><br /></i></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihIrAuKbcaVQ-u45i9Sy8TFlrVazZwY8NNeLd6lMuu-dDKffz0sD_l7iXRzcAplw9rnhpH0qtvVZw-oOUMZ96fvDvMxQzsSVR-FxQb3Q6BD83yrm7v8KEiPLOgTghvY9TSHo8WvTpcixj9/s1600/lsof_for_command_18012016.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="67" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihIrAuKbcaVQ-u45i9Sy8TFlrVazZwY8NNeLd6lMuu-dDKffz0sD_l7iXRzcAplw9rnhpH0qtvVZw-oOUMZ96fvDvMxQzsSVR-FxQb3Q6BD83yrm7v8KEiPLOgTghvY9TSHo8WvTpcixj9/s320/lsof_for_command_18012016.jpg" width="320" /></a></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i><br /></i></span></div>
<div>
<br /></div>
<div>
<div class="MsoNormal" style="text-align: justify;">
<b><span style="font-family: "courier new" , "courier" , monospace;">Open File Descriptor for Particular PID<br /><br /><o:p></o:p></span></b></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i>[root@RWDAPPSVR tmp]# lsof -p 1812
| wc -l<o:p></o:p></i></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i>[root@RWDAPPSVR tmp]# lsof -p
46856 | wc –l</i></span><o:p></o:p></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i><br /></i></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i><br /></i></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKoY4gjssWR1JVO5_3fBgQzKfmBMX3plsio6bhEhNVYfJWprsAeUhoKFLbwPYNSz8bi2_EU8bMHr3gQpdXKjwv1V_cTtNhUF0b2sXuxAZh95RChHuuUj140Gefda-TZG09b68lVtqyplsj/s1600/lsof_for_perticular_PID_18012016.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="40" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKoY4gjssWR1JVO5_3fBgQzKfmBMX3plsio6bhEhNVYfJWprsAeUhoKFLbwPYNSz8bi2_EU8bMHr3gQpdXKjwv1V_cTtNhUF0b2sXuxAZh95RChHuuUj140Gefda-TZG09b68lVtqyplsj/s320/lsof_for_perticular_PID_18012016.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4Hu_cgVROoVdXy2p1GLlH1jlxo1TpJGKUJgLTNlxjnWLGDmrOuqx7H9gshw9nmZPEaOWTQkKEXDL3r_lIOR4TmNCVgEikj11QJsyh5w8ikWfF2uku2wr1bv3NIKzrkYDvlBqdk4LCzNwn/s1600/lsof_for_perticular_tomcat_PID_18012016.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="64" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4Hu_cgVROoVdXy2p1GLlH1jlxo1TpJGKUJgLTNlxjnWLGDmrOuqx7H9gshw9nmZPEaOWTQkKEXDL3r_lIOR4TmNCVgEikj11QJsyh5w8ikWfF2uku2wr1bv3NIKzrkYDvlBqdk4LCzNwn/s320/lsof_for_perticular_tomcat_PID_18012016.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">Let’s go with what alternative
way to check file descriptor utilization for particular PID. </span><o:p></o:p></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
</div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i>[root@RWDAPPSVR tmp]#
ls /proc/<PID>/fd | wc -l<br />
[root@RWDAPPSVR tmp]# ls /proc/46856/fd
| wc –l</i></span><i><o:p></o:p></i></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i><br /></i></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKVIRmYOWLjTb1aiUk6gE-3bneM3GwW92Xsm1HFImbV7EIj0LVluSN4TSybjbcwaUmRFKUw9shvSNkMvEf8knuOzcHYeAE52Xu_2vyXjtk4ZZrxvwCjlD5N7hSYti5hqSLLUWXNN6Zost3/s1600/using_proc_file_counting_openfile_discriptors_18012016.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="93" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKVIRmYOWLjTb1aiUk6gE-3bneM3GwW92Xsm1HFImbV7EIj0LVluSN4TSybjbcwaUmRFKUw9shvSNkMvEf8knuOzcHYeAE52Xu_2vyXjtk4ZZrxvwCjlD5N7hSYti5hqSLLUWXNN6Zost3/s320/using_proc_file_counting_openfile_discriptors_18012016.jpg" width="320" /></a></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i><br /></i></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">By looking at figures, you would most probably able to come
to conclusion that lsof output is not that much reliable because lsof open file count and addition of primary
process open file count utilization is having huge difference.</span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /><o:p></o:p></span></div>
<div class="MsoNormal">
</div>
<div style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">It is been heard many times, everything in Linux is a file
so for ports sockets are considered as a file in Linux operating system. This
is an additional command apart from open files to monitor open network
connections using lsof command. </span></div>
<span style="font-family: "courier new" , "courier" , monospace;"></span><br />
<div style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<span style="font-family: "courier new" , "courier" , monospace;">
<o:p></o:p></span>
<br />
<div class="MsoNormal">
</div>
<div style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">Advantage here is, it doesn’t require root privilege to see
all ports like </span><i style="font-family: 'Courier New', Courier, monospace;">netstat</i><span style="font-family: "courier new" , "courier" , monospace;"> command. Example
of seeing </span><i style="font-family: 'Courier New', Courier, monospace;">http, https, apache-tomcat,
mysql</i><span style="font-family: "courier new" , "courier" , monospace;"> connection are mentioned below.</span></div>
<div style="text-align: justify;">
<br /></div>
<o:p></o:p><br />
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i>[root@RWDAPPSVR tmp]#
lsof -i :80<br />
[root@RWDAPPSVR tmp]# lsof -i :443<br />
[root@RWDAPPSVR tmp]# lsof -i :8017 | head<br />
[root@RWDAPPSVR tmp]# lsof -i :3306 | head</i></span><br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">Output of each command is mentioned here for better understanding.</span></div>
<div class="MsoNormal">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9_ScSRf3d6I8fIK3bXbSn2XOdzlQB5X0t5g-DtS5U7lWbrm81kV4essjktuaxJofrr_LJn69qiaaaxCeltpW3Yj7bgL_EB0LVcB8ai50DMoZTDiQxqdeBeTyELkEERmlXnHjUZXkfvZdq/s1600/lsof_network_connection_monitoring_18012016.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="174" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9_ScSRf3d6I8fIK3bXbSn2XOdzlQB5X0t5g-DtS5U7lWbrm81kV4essjktuaxJofrr_LJn69qiaaaxCeltpW3Yj7bgL_EB0LVcB8ai50DMoZTDiQxqdeBeTyELkEERmlXnHjUZXkfvZdq/s320/lsof_network_connection_monitoring_18012016.jpg" width="320" /></a></div>
<div class="MsoNormal">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div class="MsoNormal">
</div>
<div style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">So to go deeper with this open file descriptor, have you
ever thought of file descriptor having limit cap on Linux? If not, yes there is
a limit on file descriptor utilization. Now we will see what those limits are
and how it could be configured and benefits of having limit on that.</span></div>
<div style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<span style="font-family: "courier new" , "courier" , monospace;"><o:p></o:p></span><br />
<div class="MsoNormal">
</div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">First of all, these are the man pages you would need to go
through.</span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrIXAuVU1IqFCw971HF6mKrkcrWcZQo_uSQLLanwjJ-6BzRqVj9jZ9G3K_o7QLDkLx9l1VjMLt5aLFBm5FIAufN9KZ4sjwQIi25AaoP7ZcF78jhsphMpsobUCW6xKgd9vAZJfL8-AvaHFz/s1600/file-max_and_file-nr_man_pages_18012016_screenshot.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="229" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrIXAuVU1IqFCw971HF6mKrkcrWcZQo_uSQLLanwjJ-6BzRqVj9jZ9G3K_o7QLDkLx9l1VjMLt5aLFBm5FIAufN9KZ4sjwQIi25AaoP7ZcF78jhsphMpsobUCW6xKgd9vAZJfL8-AvaHFz/s320/file-max_and_file-nr_man_pages_18012016_screenshot.jpg" width="320" /></a></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div class="MsoNormal">
</div>
<div style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">I will mentioned those in point for better understanding.</span></div>
<div style="text-indent: 0px;">
<ul>
<li style="text-align: justify;"><span style="text-indent: -0.25in;"><span style="font-family: "courier new" , "courier" , monospace;">There is a system wide limit for file descriptors
which could be configured at Linux kernel level using fs.file-max parameter. To
configure that edit /etc/sysctl.conf file and go for a reboot or apply on the
fly using sysctl –p /etc/sysctl.conf. </span></span></li>
</ul>
</div>
<br />
<!--[if !supportLists]--><o:p></o:p><br />
<div class="MsoNormal">
<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5aEYqSxBC5ed5tLhDA5IZoez9rMdc2wZs6ZyEuY3WP1lCrjocWmez9OtYGjyX7_4Dc64tEJjdvFN0qDXk-xRR8anZ2-jZXGQD0UQXV852ZfoagTzjKRvd6-cgK9c6ZIB5UqviWYDw0Dpa/s1600/file-max_current_configs_1801206-screenshot.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="47" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5aEYqSxBC5ed5tLhDA5IZoez9rMdc2wZs6ZyEuY3WP1lCrjocWmez9OtYGjyX7_4Dc64tEJjdvFN0qDXk-xRR8anZ2-jZXGQD0UQXV852ZfoagTzjKRvd6-cgK9c6ZIB5UqviWYDw0Dpa/s320/file-max_current_configs_1801206-screenshot.jpg" width="320" /></a></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i><br /></i></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">I believe to keep this nicer and
clear. Better to keep your customized kernel parameters in /etc/ sysctl.d/ 99-<server-usage-specific-prefix>-kernel.conf
file. E.g. /etc/sysctl.d/ 99-vck-rewards-kernel.conf following recommended way.
If so you know what parameters you adjusted as per application and server usage.</span></div>
<div class="MsoNormal" style="text-align: justify;">
</div>
<ul>
<li style="text-align: justify;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="text-indent: -0.25in;"><span style="font-size: 7pt; font-stretch: normal;"> </span></span><span style="text-indent: -0.25in;">And there are soft and hard limits which could
configure for open file descriptor as well. To have clear description there is
nothing like other than man 5 limits.conf command. Here is the screen snippet
taken from limits.conf man page.</span></span></li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhinpViZFCfUnRCCKypV_S12UedVI91JuGlwDubP5_F-fz1kos98iHiu4HFRqYayiN3jDUC_0xyPuFO7dZFz-N9pTecujGVnQKAgJbnhq-LcJl-BLElotH6ZCCOFS2U8zxrYFoiDNL9Ftnh/s1600/soft_and_hard_limit_man_page_snippet_18012016.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="63" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhinpViZFCfUnRCCKypV_S12UedVI91JuGlwDubP5_F-fz1kos98iHiu4HFRqYayiN3jDUC_0xyPuFO7dZFz-N9pTecujGVnQKAgJbnhq-LcJl-BLElotH6ZCCOFS2U8zxrYFoiDNL9Ftnh/s320/soft_and_hard_limit_man_page_snippet_18012016.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
</div>
<ul>
<li><span style="font-family: "courier new" , "courier" , monospace;"><span style="text-indent: -0.25in;">Normally, if you configure open file descriptor limit
for particular user. Configuration looks like below. After configuring exact
values which matches for your server capacity. Verify with </span><i style="text-indent: -0.25in;">ulimit</i><span style="text-indent: -0.25in;"> command.</span></span></li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEB2OE3NfF53wUvWF3rwzi7kSZWAoGEuxveny2UeTUoga_rru2mgL5cAc8Gmiggp-N-L1mX4YHh7MSJguv5pJ2dDnjMDMt4rAoLLIb0J0aHxAGOyV2aU5ki10gcu2HV8bFbZi9T-Xd_5n4/s1600/soft_and_hard_limits_configuration_18012016.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEB2OE3NfF53wUvWF3rwzi7kSZWAoGEuxveny2UeTUoga_rru2mgL5cAc8Gmiggp-N-L1mX4YHh7MSJguv5pJ2dDnjMDMt4rAoLLIb0J0aHxAGOyV2aU5ki10gcu2HV8bFbZi9T-Xd_5n4/s320/soft_and_hard_limits_configuration_18012016.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
</div>
<div style="text-indent: -24px;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div style="text-indent: -24px;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<br />
<ul>
<li style="text-align: justify;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="text-indent: -0.25in;">Login from new SSH session to server or </span><i style="text-indent: -0.25in;">sudo</i><span style="text-indent: -0.25in;"> to particular user e.g. rewards, so
you will see that above configured values are applied there. </span></span></li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXNmlW-9G-PspNM-WeNWj4Zuq3_17L7g3bCWePISz01itD2K_UbaUXWmiORwLQkYZEQ0vAQJ-4SYQSYJsrcZWjgHjxaTeWEzb8Gq_cJSPqVY-JNVTSZTn6_HS3MjxNeNWqeoSeL-B4pupC/s1600/ulimit-n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="80" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXNmlW-9G-PspNM-WeNWj4Zuq3_17L7g3bCWePISz01itD2K_UbaUXWmiORwLQkYZEQ0vAQJ-4SYQSYJsrcZWjgHjxaTeWEzb8Gq_cJSPqVY-JNVTSZTn6_HS3MjxNeNWqeoSeL-B4pupC/s320/ulimit-n.jpg" width="320" /></a></div>
<div style="text-align: justify; text-indent: -24px;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div style="text-align: justify; text-indent: -24px;">
<ul>
<li><span style="text-indent: -0.25in;"> <span style="font-family: "courier new" , "courier" , monospace;">If configured values are not applied on your new
session or login. Make sure </span></span><span style="font-family: "courier new" , "courier" , monospace;"><i style="text-indent: -0.25in;">pam_limits.so</i><span style="text-indent: -0.25in;">
is not commented out in /etc/pam.d directory configuration files(e.g. </span><code style="text-indent: -0.25in;"><b><span style="background: white; color: #333333; font-size: 10.5pt; line-height: 107%;">/etc/pam.d/su</span></b></code><span class="apple-converted-space" style="text-indent: -0.25in;"><span style="background: white; color: #333333; font-size: 11.5pt; line-height: 107%;"><span style="orphans: 4; widows: 4;"> </span>or </span></span><code style="text-indent: -0.25in;"><b><span style="background: white; color: #333333; font-size: 10.5pt; line-height: 107%;">/etc/pam.d</span></b></code><code style="text-indent: -0.25in;"><span style="font-size: 10.5pt; line-height: 107%;"><b> /system-auth)</b><span style="background-color: white; color: #333333;">.</span></span></code></span></li>
</ul>
</div>
<br />
<div class="MsoNormal">
<b><span style="font-family: "courier new" , "courier" , monospace;">Important Note: </span><br /><br /><o:p></o:p></b></div>
<div style="text-align: justify; text-indent: -24px;">
<div>
<div class="MsoNormal">
<span style="font-family: "courier new" , "courier" , monospace;">By now, we know system wide file descriptor size determined by
fs.file-max kernel parameter. How do you determine that configured value is correct?
To know that value you should know current file descriptor utilization. </span><br />
<br />
<o:p></o:p></div>
<span style="font-size: 11pt; line-height: 107%;"><span style="font-family: "arial" , "helvetica" , sans-serif;"><i>[root@RWDAPPSVR
security]# cat /proc/sys/fs/file-nr</i></span></span><span style="font-family: "calibri" , "sans-serif"; font-size: 11.0pt; line-height: 107%;"> </span></div>
<div>
<span style="font-size: 11pt; line-height: 107%;"><span style="font-family: "arial" , "helvetica" , sans-serif;"><i><br /></i></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv2Js-bPbnoaKz9vUU7XaoRvHhcWtFuMRR7KiY55tZ369AwAXFBc90MkVrDk42u-XXmRlnPGW0wVo4cOTR0KnmK0S2AkuJMKPJ7nP0W1FLzMDTCXuB8e_ERH-ItzOFGsr0m1K71gLPjkBk/s1600/file-nr-screenshot_18012016.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="53" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv2Js-bPbnoaKz9vUU7XaoRvHhcWtFuMRR7KiY55tZ369AwAXFBc90MkVrDk42u-XXmRlnPGW0wVo4cOTR0KnmK0S2AkuJMKPJ7nP0W1FLzMDTCXuB8e_ERH-ItzOFGsr0m1K71gLPjkBk/s320/file-nr-screenshot_18012016.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="MsoNormal">
T T<span style="font-family: "courier new" , "courier" , monospace;">here are 3 values displayed here. I assume you could go
again through screen snippet mentioned above for <i>/proc/sys/fs/file-nr </i>man page. Simply here it is with numbers
mapped.<o:p></o:p></span></div>
<pre style="margin-left: 6.0pt;"><span style="color: #181818; font-size: 12.0pt;"><span style="font-family: "courier new" , "courier" , monospace;">
<i>3872 = The number of files presently opened
0 = The number of free file handles
707728 = The maximum number of file handles(value equals to /proc/sys/fs/file-max value.)</i><o:p></o:p></span></span></pre>
<pre style="margin-left: 6.0pt;"><span style="color: #181818; font-size: 12.0pt;"><span style="font-family: "courier new" , "courier" , monospace;"> </span></span></pre>
<pre style="margin-left: 6.0pt;"><span style="color: #181818; font-family: "courier new" , "courier" , monospace; font-size: 12pt;">Actual File Handlers opened = 3872-0. If this value is near to
file-max, you should be consider increasing file-max value. Hope next time your
sever won’t go out of file descriptor as you know how to configure with great care :) </span><span style="color: #181818; font-family: "courier new" , "courier" , monospace; font-size: 12pt;">.</span></pre>
<div class="MsoNormal" style="margin: 0in 0in 0.0001pt 6pt;">
<br /></div>
<div class="MsoNormal" style="margin: 0in 0in 0.0001pt 6pt;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="MsoNormal">
<span style="font-family: "courier new" , "courier" , monospace;"> Happy and Enjoy
reading. Have a good day for all. Cheers.<o:p></o:p></span></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
</div>
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
</div>
Nuwan Arambagehttp://www.blogger.com/profile/14542750830276257387noreply@blogger.com0tag:blogger.com,1999:blog-4275211226932524630.post-49725452101301630852016-01-24T08:58:00.006-08:002016-01-24T08:58:51.173-08:00Special Note on mysqld_safe — MySQL Server Startup Script<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">When it happens to work on mysql databases, it is common to
use <i>mysqld_safe </i>script. However,
there are most important points which hidden behind the sense. Sometimes as
mysql administrators, implementation engineers, system engineers might be
missing that one. <o:p></o:p></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">More or less, this page would be familer to people who deal
with mysql. Reference is mentioned here in case to have a deeper look and
complete reading (<a href="http://dev.mysql.com/doc/refman/5.7/en/mysqld-safe.html">http://dev.mysql.com/doc/refman/5.7/en/mysqld-safe.html</a>).
<o:p></o:p></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<br />
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">For better understanding, here there are two snippets took
from <i>mysqld_safe</i> script comments itself
and mysql documentation <i>mysqld_safe</i>
section. Still if reader would be wondering what is the point this guy going to
make better go through simple wording in that snippets. </span><o:p></o:p></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXYAomLe5EhtAx_JyCQQyDNtcTb4V7qmY2N1l-UA1NVmbNoXmjLPfyh1AW_QFqEmEx_kBEq1T1DQRxU1lKBSxpTfaHhqGYGIgb5FzzUnCK93iILnnpNdGM3fEZrnY3sTB4r1P9SAUVTgPD/s1600/mysqld_safe_script_comment-screenshot-13012016.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="110" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXYAomLe5EhtAx_JyCQQyDNtcTb4V7qmY2N1l-UA1NVmbNoXmjLPfyh1AW_QFqEmEx_kBEq1T1DQRxU1lKBSxpTfaHhqGYGIgb5FzzUnCK93iILnnpNdGM3fEZrnY3sTB4r1P9SAUVTgPD/s320/mysqld_safe_script_comment-screenshot-13012016.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="line-height: 107%;"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">Snippet
taken from <i>mysqld_safe </i>script comment</span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "calibri" , sans-serif; line-height: 107%;"><span style="font-size: xx-small;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxJRu7Bq_DnYo6dSQsorTvxgo_IwdJWBFnRpoexqEq4mvy_UQOhzqR59sv8B-XxxfvFv46egV2VzR027AEllidSiZw8_9gKyNlWND64vUsJhRR5Jvwofmi0VcArIF7q5psL_6-gCojaIbA/s1600/mysqld_safe_from_mysql-documentation_13122016-screenshot.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="147" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxJRu7Bq_DnYo6dSQsorTvxgo_IwdJWBFnRpoexqEq4mvy_UQOhzqR59sv8B-XxxfvFv46egV2VzR027AEllidSiZw8_9gKyNlWND64vUsJhRR5Jvwofmi0VcArIF7q5psL_6-gCojaIbA/s320/mysqld_safe_from_mysql-documentation_13122016-screenshot.jpg" width="320" /></a></div>
<div class="MsoNormal" style="text-align: center;">
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> Snippet taken from mysql documentation <i>mysqld_safe</i></span><o:p></o:p></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: "calibri" , sans-serif; line-height: 107%;"><span style="font-size: xx-small;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "calibri" , "sans-serif"; font-size: 11.0pt; line-height: 107%;"><br /></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">Does that make sense when reading
that? Most probably, it is noticed <i>mysqld_safe</i>
script looks for at least one condition to be met to execute. Which is special
that other start up script if you happen to work with apache HTTPD, apache
Tomcat, WebLogic, and IBM WebSphere servers. In simple terms no matter what
when executing <i>mysqld_safe </i>script. Current
working directory must be mysql_installation_directory. Things would become
worse, when using customized installation location. For instance, most of the
time product based companies tend to install mysql as their preferred locations.
What if that this fact is not aware to you who is going to implement mysql
sever. In normal run, startup script comes with mysql binary installation works
perfectly since that mysql.server script keeps that rule not violating. <o:p></o:p></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div class="separator" style="clear: both;">
</div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">Trust me, real instance occurred on setting up CentOS 7
cluster with mysql service for my first time. Because mysql resource doesn’t
start up throwing below error many times. It doesn’t give clue to start troubleshooting.
Oh such a pain again.</span><o:p></o:p></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "calibri" , "sans-serif"; font-size: 11.0pt; line-height: 107%;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi1FEJnUyttTYmTJ3GR6EsapdQ-6bggbPWc1XSj75kcUsydfqi85zEQDn2Em9pdPA1OpcVuyNk1k2DuAjGX6S81ZjZdHb7NWW9_5bVrBmlW2BTsL1-mMQZ7sdi7Ldje-ShsQkQFNA3xLsx/s1600/mysql_error_on_centOS7_cluster-screenshot_13012016.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="77" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi1FEJnUyttTYmTJ3GR6EsapdQ-6bggbPWc1XSj75kcUsydfqi85zEQDn2Em9pdPA1OpcVuyNk1k2DuAjGX6S81ZjZdHb7NWW9_5bVrBmlW2BTsL1-mMQZ7sdi7Ldje-ShsQkQFNA3xLsx/s320/mysql_error_on_centOS7_cluster-screenshot_13012016.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">Issue on CentOS7 cluster mysql resource agent.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">I’m pretty sure that mysql installation perfectly okey. It would
be able to start/stop/login using init.d script without CentOS7 cluster.<o:p></o:p></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div class="separator" style="clear: both; text-align: justify;">
</div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">Having hours sitting in front of my notebook trying to dig
deeper resource agent script why this thing is throwing. Finally, it is figured
out that simplest condition for <i>mysqld_safe
</i>is not catered in mysql resource agent script.Having simple cd
mysql_installation_directory works with out issue. </span><o:p></o:p></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: "calibri" , "sans-serif"; font-size: 11.0pt; line-height: 107%;"><br /></span></div>
<div class="MsoNormal" style="text-align: justify;">
<b><span style="font-size: 14.0pt; line-height: 107%;"><span style="font-family: "courier new" , "courier" , monospace;">Caution: If you
happened to use <i>mysqld_safe </i>inside
any script. Make sure you change directory to mysql installation location. Or
follow the guide lines given in mysql documentation if it failed when running
script from mysql installation location.</span><o:p></o:p></span></b></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpHBtdcXRVO9G2U0mTTofVB9MZg0Tl-w4G1OW1FePHOYHCvYDco3g2ibc9_xNcAhYg7YV3w9jq6ph-sUhAXacwgL0UGc6Wk1ftT2_Wlq-oGK3LFLqe58nVIvtcThpB_WBc3gEGO2NlIeMH/s1600/solution_mysql_safe_issue-screenshot_13102016.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="43" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpHBtdcXRVO9G2U0mTTofVB9MZg0Tl-w4G1OW1FePHOYHCvYDco3g2ibc9_xNcAhYg7YV3w9jq6ph-sUhAXacwgL0UGc6Wk1ftT2_Wlq-oGK3LFLqe58nVIvtcThpB_WBc3gEGO2NlIeMH/s320/solution_mysql_safe_issue-screenshot_13102016.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">Solution.</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "calibri" , "sans-serif"; font-size: 11.0pt; line-height: 107%;"><br /></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
Nuwan Arambagehttp://www.blogger.com/profile/14542750830276257387noreply@blogger.com0tag:blogger.com,1999:blog-4275211226932524630.post-60594642779585729112016-01-24T08:42:00.000-08:002016-01-24T08:48:18.355-08:00Install Missing Manual In CentOS 7 <div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">It is nothing so funny that sometimes, even though, you
would be searching man pages correctly. Man pages are not available. Same thing
happens to me today when using one instance of Azure Could VM. Little bit of
googling give me a positive answer and valid reason why it is not available. <o:p></o:p></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<br />
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">This is what I got for the first time when I was looking for
a help on <i>proc</i> file system.</span><o:p></o:p></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPVoS4hnrr7VN6Qk9DiKpEKSAN12hl2P-HTO_XZfb4zoNGyI4WVgUz4WGoa8wawYdF0Efxq_CqjMTwMP0UPZ5RF7MyYEFVQaNVeaK0d1HZ8DGMuRlMsp1ko8vDhpa2regpdSM45Y4LS3S5/s1600/proc_man_page_not_found_18012016.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="52" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPVoS4hnrr7VN6Qk9DiKpEKSAN12hl2P-HTO_XZfb4zoNGyI4WVgUz4WGoa8wawYdF0Efxq_CqjMTwMP0UPZ5RF7MyYEFVQaNVeaK0d1HZ8DGMuRlMsp1ko8vDhpa2regpdSM45Y4LS3S5/s320/proc_man_page_not_found_18012016.jpg" width="320" /></a></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">Be remember if you came across such situation, sometimes,
CentOS minimal/ customized installation (specially for cloud VMs) doesn’t comes
with complete man pages. <br /><br /><o:p></o:p></span></div>
<div class="MsoNormal" style="text-align: justify;">
</div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">There is no perfect solution for that but, Internet teaches
me that it is possible to install most of the man pages using <i>man-pages</i> package.</span><o:p></o:p></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span><i><span style="font-size: 11pt; line-height: 107%;"><span style="font-family: "arial" , "helvetica" , sans-serif;">[rewards@RWDAPPSVR-Test logs]$ yum info
man-pages</span></span></i></div>
<div class="MsoNormal" style="text-align: justify;">
<i><span style="font-size: 11pt; line-height: 107%;"><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></span></i></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmk6EEm6H40Thmbk6c0hE25uZrlBrQdqIzVeNipFk-vS5r9EaOdbfYGocYE4UyTkuTHE98FgVWe9B9-XtdWKno0qogYmSW7QkjiHAarcrp-t_O0LS1OcPJwRvh-Xyp6wMXZTi12YEmtAgo/s1600/man-pages_package_information_18012016.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="116" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmk6EEm6H40Thmbk6c0hE25uZrlBrQdqIzVeNipFk-vS5r9EaOdbfYGocYE4UyTkuTHE98FgVWe9B9-XtdWKno0qogYmSW7QkjiHAarcrp-t_O0LS1OcPJwRvh-Xyp6wMXZTi12YEmtAgo/s320/man-pages_package_information_18012016.jpg" width="320" /></a></div>
<div class="MsoNormal" style="text-align: justify;">
<i><span style="font-size: 11pt; line-height: 107%;"><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></span></i></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "courier new" , "courier" , monospace;">After installation, my problem solved. Man pages now showing
<i>proc</i> file system help pages. Screenshot
for installation and displaying <i>proc</i>
man pages shown below.</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx8mGKqHkU-PZ1ntNzvVHTI5kDquqU3p3-jQYXSaYTQfZGV5gQXPIFG56HIqodynM8XhznVV51Sz5oJSrhMhPlq6v-KHHCYF4GbC0kqciYJmztEAwMgXwhJRLPyvU_R8USxOUdGNp_pGvw/s1600/man-pages_package_information_18012016.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="116" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx8mGKqHkU-PZ1ntNzvVHTI5kDquqU3p3-jQYXSaYTQfZGV5gQXPIFG56HIqodynM8XhznVV51Sz5oJSrhMhPlq6v-KHHCYF4GbC0kqciYJmztEAwMgXwhJRLPyvU_R8USxOUdGNp_pGvw/s320/man-pages_package_information_18012016.jpg" width="320" /></a></div>
<div class="MsoNormal">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2WQjwxVfJgE6mShnL-X5n_-JH4DIL0izfxjwdkP6N4sfUEgpLFYp67mLpBaRWS3yMl4e7F4aAkQRsp3YnA3WPhSYgJPtf9wE5c5UNxvW3ZS1Mb7gx8ubexlVzJDZsJhFYH-Jah2d4xd5j/s1600/proc_man_page_displayed_18012016.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="81" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2WQjwxVfJgE6mShnL-X5n_-JH4DIL0izfxjwdkP6N4sfUEgpLFYp67mLpBaRWS3yMl4e7F4aAkQRsp3YnA3WPhSYgJPtf9wE5c5UNxvW3ZS1Mb7gx8ubexlVzJDZsJhFYH-Jah2d4xd5j/s320/proc_man_page_displayed_18012016.jpg" width="320" /></a></div>
<div class="MsoNormal">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "courier new" , "courier" , monospace;">If you face such situations,hope this workaround helps you.Happy reading.Ensure to enjoy your weekend as you work hard extended hours on week days.Cheers !.</span></div>
<div class="MsoNormal">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
Nuwan Arambagehttp://www.blogger.com/profile/14542750830276257387noreply@blogger.com0tag:blogger.com,1999:blog-4275211226932524630.post-29843551567399444172016-01-24T08:25:00.000-08:002016-01-24T08:48:02.756-08:00Human way to read your TCP traffic - tcpflow Utility<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">If you happened to work on low
level TCP protocol, there is only better way to troubleshoot. Guess what,
people will say different answers. But, Packet capture will do its job. When
system running on Linux, most probably, you may take tcpdump in .<i>pcap</i> format using <i>tcpdump</i> command and analyze later on using graphical tool like Wireshark
which has much advanced features.<o:p></o:p></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">Nonetheless, but having .pcap
file and using Wireshark is not real-time and bit cumbersome. You know what I mean
when you work on real production environment where people are ready to sit on
your head and you are really under pressure most of the working hours.<o:p></o:p></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<span style="font-family: "courier new" , "courier" , monospace; text-align: justify;">Tcpflow is a handy tool which
will take all your burden and all headaches when it comes to packet monitoring.
It is not installed by default in commonly used distribution line
CentOS/Fedora/RHEL. .rpm package is freely available to download and install.
If you installed tcpflow, no doubt that you wouldn’t look for any other tool. Installation
is pretty much easy and straight forward. Just two commands all together.</span><br />
<div class="MsoNormal" style="text-align: justify;">
<o:p></o:p></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i>[root@cluster-node01 installs]# wget <a href="http://pkgs.repoforge.org/tcpflow/tcpflow-0.21-1.2.el6.rf.x86_64.rpm">http://pkgs.repoforge.org/tcpflow/tcpflow-0.21-1.2.el6.rf.x86_64.rpm</a></i><o:p></o:p></span></div>
<div class="MsoNormal">
<i><br /></i></div>
<div class="MsoNormal">
<i><span style="font-family: "arial" , "helvetica" , sans-serif;">[root@cluster-node01 installs]# rpm -ivh
tcpflow-0.21-1.2.el6.rf.x86_64.rpm</span></i><o:p></o:p></div>
<div class="MsoNormal">
<i><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></i></div>
<div class="MsoNormal">
<span style="font-family: "courier new" , "courier" , monospace;">I guess you don’t need a better description here for </span><i style="font-family: 'courier new', courier, monospace;">tcpflow</i><span style="font-family: "courier new" , "courier" , monospace;"> command. Then </span><i style="font-family: 'courier new', courier, monospace;">tcpflow</i><span style="font-family: "courier new" , "courier" , monospace;"> man page give an exact details.
I have highlighted what is important. </span></div>
<div class="MsoNormal">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgldKiF9nda8LqTLhS2dW2KTo7b_VJOdluetBRU4lHpKHbeA6KoS6UZeZNrbHQrbycl14gu9zashlTAi8NtTGjj_Iyv3QZiMt8XTnBnXBMQH8NQskcxF6Ra1-NGEDe4o0B-BvBsunlBmQS4/s1600/tcpflow_man_page_20012016-screenshot.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="86" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgldKiF9nda8LqTLhS2dW2KTo7b_VJOdluetBRU4lHpKHbeA6KoS6UZeZNrbHQrbycl14gu9zashlTAi8NtTGjj_Iyv3QZiMt8XTnBnXBMQH8NQskcxF6Ra1-NGEDe4o0B-BvBsunlBmQS4/s320/tcpflow_man_page_20012016-screenshot.jpg" width="320" /></a></div>
<div class="MsoNormal">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "courier new" , "courier" , monospace; font-size: 11pt; line-height: 107%; text-align: justify;">Basically,
for me </span><i style="font-family: 'Courier New', Courier, monospace; font-size: 11pt; line-height: 107%; text-align: justify;">tcpflow</i><span style="font-family: "courier new" , "courier" , monospace; font-size: 11pt; line-height: 107%; text-align: justify;"> is helps to monitor
traffic goes via different application specific services. Our application calls
external Rest API via web Services. Sometimes I used </span><i style="font-family: 'Courier New', Courier, monospace; font-size: 11pt; line-height: 107%; text-align: justify;">tcpflow</i><span style="font-family: "courier new" , "courier" , monospace; font-size: 11pt; line-height: 107%; text-align: justify;"> to make sure http/https traffic goes via particular Network
Interface card. This is one of real example of monitoring request and response
traffic using </span><i style="font-family: 'Courier New', Courier, monospace; font-size: 11pt; line-height: 107%; text-align: justify;">tcpflow</i><span style="font-family: "courier new" , "courier" , monospace; font-size: 11pt; line-height: 107%; text-align: justify;"> command.</span></div>
<div class="MsoNormal" style="text-align: justify;">
<i><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></i></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><i>[root@RWDAPPSVR ~]# tcpflow -i any port 7000 –c</i></span></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
</div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">Above tcpflow command monitors
traffic goes via port 7000 on listening on any network interface. And output is
written to console itself (-c option). Port and any option is quite understandable
for novice users.</span><o:p></o:p></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgouDwc7MBCPOUPV5Id8N29TmYAvqDA0nHS8nbFV33IW4Su7k4BxD8pYz5M2Fy895c2eyXRruJJFNy7pZj7y75M4fJMDe7A9ECPrn-JSkoDkK9YogSB8yALZ0U0Vz4BLuTtxgMC4WcIskWz/s1600/real-tcpflow_example_20012016-screenshot.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="130" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgouDwc7MBCPOUPV5Id8N29TmYAvqDA0nHS8nbFV33IW4Su7k4BxD8pYz5M2Fy895c2eyXRruJJFNy7pZj7y75M4fJMDe7A9ECPrn-JSkoDkK9YogSB8yALZ0U0Vz4BLuTtxgMC4WcIskWz/s320/real-tcpflow_example_20012016-screenshot.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">Hopefully, I bet you are going to
be a fan of <i>tcpflow</i>. Have a good and
happy reading Cheers.</span></div>
Nuwan Arambagehttp://www.blogger.com/profile/14542750830276257387noreply@blogger.com0Colombo, Sri Lanka6.9270786 79.8612430000000596.8009751 79.69988150000006 7.0531821 80.022604500000057tag:blogger.com,1999:blog-4275211226932524630.post-15049064026638558882011-09-27T09:06:00.001-07:002011-12-26T22:51:00.112-08:00Spin It Up Again.....<div style="text-align: justify;">
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">It was 10th April 2011 last blog was written.Five month has already gone. I know I should write more in my blog in last five months but I feel I wouldn't have better mood to write. Today I will write this blog since I don't want to see my blog dying. So sorry for being silent. Personal things matters to everyone. Now... I'm proud because still I can breath Still I can see the color of the red-wine sky in the evening. And also I feel the smell of the wind blows around me.</span><br />
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/eeBGzVnMA8A?feature=player_embedded' frameborder='0'></iframe></div>
<div style="text-align: justify;">
<span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span" style="color: #666666;">Life is a gift. It is amazing even though it is not fair. And believe me life is a miracle....</span></span><br />
<span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span" style="color: #666666;"><br /></span></span><br />
<div style="text-align: center;">
<span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span" style="color: #666666;"><span class="Apple-style-span" style="color: #444444; font-size: 15px; line-height: 17px;"><b>© Nuwan Arambage-"transcending verge of life"</b></span></span></span></div>
</div>Nuwan Arambagehttp://www.blogger.com/profile/14542750830276257387noreply@blogger.com0tag:blogger.com,1999:blog-4275211226932524630.post-43183292298300456262011-04-10T23:41:00.000-07:002011-12-27T03:35:28.479-08:00Where Linux Shines<div style="text-align: justify;">
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">We all know the truth that Mr Gates have conquered the Desktop OS market with a large market share. It it the real truth all the time we believe. Most of the computer users think it is really easy to work in Windows rather than other operating systems. In my personal belief , Microsoft have spent bulk of its hardly earned money to make people's mind set dressing with huge marking hype.</span><br />
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><br />
</span></div>
<div style="text-align: justify;">
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"> <title></title> <style type="text/css">
<!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
-->
</style> </span></div>
<div style="margin-bottom: 0in; text-align: justify;">
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">We can't blame Microsoft because it is their business. Mr Jobs keeps Apple's promise to his customers while competing with Mr Gates. I'm not a Microsoft nor Apple advocate justifying what they do in their business. I'm not going to compare none of those operating system who makes the big leap in OS race. It is obvious, when it comes to Desktop market Gates and Jobs rule the market even if Other OS like Linux distributions has tiny user community. My question is where does this the Great Linux shows it colors all the way?. Perhaps you can find where Linux shines but probably you will not find precise information regarding this matter. I think why I write this post where you would find more of Linux is being used.</span><br />
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><br />
</span></div>
<div style="margin-bottom: 0in; text-align: justify;">
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">It is no wonder you will use<b> Google</b> search more than three times per day. Believe me,the moment you click the search button you become a Linux user since Google servers are run using Linux distros that are customized by Google engineers. Will you believe me or not. This is the extraction form Wikipedia.”<i><span style="font-weight: normal;">Servers are </span><span style="text-decoration: none;"><span style="font-weight: normal;">commodity-class</span></span><span style="font-weight: normal;"> </span><span style="text-decoration: none;"><span style="font-weight: normal;">x86</span></span><span style="font-weight: normal;"> </span><span style="text-decoration: none;"><span style="font-weight: normal;">PCs</span></span><span style="font-weight: normal;"> running customized versions of </span><span style="text-decoration: none;"><span style="font-weight: normal;">Linux</span></span></i>” . If you need more information read Google platform post in Wikipedia. </span><br />
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"> <title></title> <style type="text/css">
<!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
A:link { so-language: zxx }
-->
</style> </span><br />
<div align="JUSTIFY" style="margin-bottom: 0in;">
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">Same thing applies to other search engine <b>Yahoo</b>.I don't want repeat my words. However big fish in Yahoo- <span style="font-style: normal;"><span style="font-weight: normal;">Sven Dummer, Director of Linux engineering</span></span> told the story in his own words. “<span style="font-weight: normal;"> <i>75% of Yahoo’s Web sites and services run on Linux. The rest? It runs on </i></span><span style="text-decoration: none;"><span style="font-weight: normal;"><i>FreeBSD</i></span></span><span style="font-style: normal;"><span style="font-weight: normal;">.</span></span>”. As a matter of fact it is the truth. These are confirmed facts but e-commerce web sites are run on Linux server even if not confirmed.</span></div>
<div align="JUSTIFY" style="margin-bottom: 0in;">
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"> <title></title> <style type="text/css">
<!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
A:link { so-language: zxx }
-->
</style> </span><br />
<div style="margin-bottom: 0in; text-align: justify;">
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">This is the another story that Linux supports to render Oscar award winning film. Any guesses, no one haven't missed a chance to watch <b>Avatar</b>. A movie directed by <span style="font-style: normal;"><span style="font-weight: normal;">James Cameron. Special effects contained in Avatar movie had been rendered by Ubuntu Server farm at Weta Digital which is located in </span></span><span style="font-style: normal;"><span style="font-weight: normal;">Wellington, New Zealand</span></span><span style="font-style: normal;"><span style="font-weight: normal;">. Most of the blockbuster movies are rendered at Weta Digital creative studio by using Ubuntu server farm. </span></span><i><span style="font-weight: normal;">District9, Day the Earth Stood Still, Jumper, King Kong, Lord of the Rings, Fantastic Four, Eragon, X-Men, i-Robot are great products done by </span></i><span style="font-style: normal;"><span style="font-weight: normal;">Weta Digital. According to system administrator at Weta Digital, he told that </span></span> <span style="font-style: normal;"><span style="font-weight: normal;">Ubuntu</span></span><span style="font-style: normal;"><span style="font-weight: normal;"> is at the core of almost all their systems. Ubuntu runs on all of their </span></span><span style="font-style: normal;"><span style="font-weight: normal;">3D rendering </span></span><span style="font-style: normal;"><span style="font-weight: normal;">servers, and at least 90% of all their desktop systems. More detailed information about the Ubuntu powered rendering farm that rendered the CGI of Avatar is available from the </span></span><a href="http://www.information-management.com/newsletters/avatar_data_processing-10016774-1.html"><span style="font-style: normal;"><u><span style="font-weight: normal;">Information Management</span></u></span></a><span style="font-style: normal;"><span style="font-weight: normal;"> and </span></span><span style="font-style: normal;"><u><span style="font-weight: normal;"><a href="http://www.itworld.com/hardware/93127/data-center-plays-supporting-role-avatar">IT World</a> </span></u></span><span style="font-style: normal;"><span style="font-weight: normal;">websites.</span></span></span></div>
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"> </span></div>
<div align="JUSTIFY" style="margin-bottom: 0in;">
<span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"> <title></title> <style type="text/css">
<!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
A:link { so-language: zxx }
-->
</style> </span><br />
<div style="margin-bottom: 0in; text-align: justify;">
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><span style="font-style: normal;"><span style="font-weight: normal;">The system is entirely water-cooled, as traditional air and fan cooling systems are not sufficient during near deadline times, due to constant high load on the servers. The photograph below shows the enormous </span></span><span style="font-style: normal;"><span style="font-weight: normal;">water cooling </span></span><span style="font-style: normal;"><span style="font-weight: normal;">system cooling a portion of the server farm.</span></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpWxoCn2Na-mCvow6LrdoRvGcxSJ7AnoKLOYOVsCJO9eTIWfzX_8vZz95tzTsU5xzf3_zTrAvXfdzr9e71tknekRQZ6T7xhJ7icWbm1k59t6DJJQQsCGQhjPXTKkEAErDuQEqGobVauU5r/s1600/avatar-movie-ubuntu.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpWxoCn2Na-mCvow6LrdoRvGcxSJ7AnoKLOYOVsCJO9eTIWfzX_8vZz95tzTsU5xzf3_zTrAvXfdzr9e71tknekRQZ6T7xhJ7icWbm1k59t6DJJQQsCGQhjPXTKkEAErDuQEqGobVauU5r/s320/avatar-movie-ubuntu.png" width="320" /></a></span></div>
<div style="margin-bottom: 0in; text-align: justify;">
<span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"><span style="color: #292929;"><span style="font-style: normal;"><span style="font-weight: normal;"><br />
</span></span></span></span></div>
<div style="color: #666666; margin-bottom: 0in; text-align: justify;">
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTGoYoTkl1lPi97rz4r6fMy5D2j5hJkd3-nJchwYduFEEp5i8fR12RXCCElK8ZWbMjjSaU2em6B7pQjYDekefy6qNq51XKsm2zNrGDup76eSI22gVl4QfWDhBLSPXgU7rHfgCk8j2KMEiq/s1600/weta-digital-water-cooling-servers.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTGoYoTkl1lPi97rz4r6fMy5D2j5hJkd3-nJchwYduFEEp5i8fR12RXCCElK8ZWbMjjSaU2em6B7pQjYDekefy6qNq51XKsm2zNrGDup76eSI22gVl4QfWDhBLSPXgU7rHfgCk8j2KMEiq/s320/weta-digital-water-cooling-servers.gif" width="320" /></a></div>
<span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;">Other fact you should know that number of stock exchange transactions happens on top Linux based platform. The newcomer who have migrated form Window server to Novell Linux due to overload crash occurred on September 8th 2008 is LSE(<b>London Stock Exchange</b>). Why they migrating is the more important thing to reveal. It is Just 3S's. Security , Speed and obvious Stability. LSE is not the only one which runs Linux. Other than that,you can find more by clicking this link. As a Sri Lankan, I'm really happy because Millennium IT is company located in SL that have provided the stock market solution to Landon Stock Exchange now onwards. Most of the engineers work there are Sri Lankans. So proud to be a Sri Lankan.</span></div>
<div align="JUSTIFY" style="font-style: normal; margin-bottom: 0in;">
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"> <title></title> <style type="text/css">
<!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
-->
</style> </span><br />
<div align="JUSTIFY" style="margin-bottom: 0in;">
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><span style="font-style: normal;"><span style="font-weight: normal;">Everyone talks about </span><b>Super computers</b><span style="font-weight: normal;"> and its usages. But no one cares what operating system they are rely on. So far , according to the statics it shows 91.8% of super computers run Linux based operating system. How is that, good or bad. You should be really happy, how long this open source Linux goes it own silent way. This is the best ever story that I have heard and I was fully happy about it.</span></span></span></div>
<div align="JUSTIFY" style="margin-bottom: 0in;">
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><span style="font-style: normal;"><span style="font-weight: normal;"><br />
</span></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl0IBcbT4tBcr7W_J63wpCn66SxRhw5ynR9CVAcJurbFOFXif8Xmzht_CJYmRpryL8fhGegVj9k9fDw1HGUmz-10ODUvLHCAvHiHlqG9_X6G84X6OqZGyD3it3OOwlgktdAmzR9uQj1_L-/s1600/Screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="348" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl0IBcbT4tBcr7W_J63wpCn66SxRhw5ynR9CVAcJurbFOFXif8Xmzht_CJYmRpryL8fhGegVj9k9fDw1HGUmz-10ODUvLHCAvHiHlqG9_X6G84X6OqZGyD3it3OOwlgktdAmzR9uQj1_L-/s400/Screenshot.png" width="400" /></a></span></div>
<div align="JUSTIFY" style="margin-bottom: 0in;">
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><span style="font-style: normal;"><span style="font-weight: normal;"><br />
</span></span></span><br />
<span style="font-style: normal;"><span style="color: #666666; font-family: Georgia, 'Times New Roman', serif; font-weight: normal;"> <title></title> <style type="text/css">
<!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
-->
</style> </span></span><br />
<div style="margin-bottom: 0in; text-align: justify;">
<span style="font-style: normal;"><span style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><b>Android</b></span><span style="color: #666666; font-family: Georgia, 'Times New Roman', serif; font-weight: normal;"> is designed on top of Linux kernel. Now mobile devices are moving towards Android platform since it is the new trend in mobile market. Think a what makes Android so special. It is undoubtedly Linux.</span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-style: normal;"><span style="color: #666666; font-family: Georgia, 'Times New Roman', serif; font-weight: normal;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUgBlzJ3USLh-Y9pwBzTnJioIKYsCGuy7aQTVDKmwcnI32wKG_6Yk3SHmmtB3I7tnKADoaukRJgZV0Chje_pNWoj3bgfUsCivrAreqmEu5YsVYzdvG09gQWp8cRv-qEAJkSrYySbn8651E/s1600/android-architecture.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="307" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUgBlzJ3USLh-Y9pwBzTnJioIKYsCGuy7aQTVDKmwcnI32wKG_6Yk3SHmmtB3I7tnKADoaukRJgZV0Chje_pNWoj3bgfUsCivrAreqmEu5YsVYzdvG09gQWp8cRv-qEAJkSrYySbn8651E/s320/android-architecture.png" width="320" /></a></span></span></div>
<div style="margin-bottom: 0in; text-align: justify;">
<span style="font-style: normal;"><span style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"> <title></title> <style type="text/css">
<!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
-->
</style> </span></span><br />
<div align="JUSTIFY" style="margin-bottom: 0in;">
<span style="font-style: normal;"><span style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">Most laptop and notebook manufacturers tend to shipped Linux distributions(more preferably Ubuntu) with their hardware. It is a new tread has already started. <b>Dell</b> computers did it, firstly <b>Asus</b> Inc did it. Now <b>HP</b> keep going with releasing mass market PCs and notebooks with Linux. Electronic manufacturers mostly use Linux in their embedded devices since Linux kernel is highly configurable for specific needs.</span></span></div>
<div align="JUSTIFY" style="margin-bottom: 0in;">
<span style="font-style: normal;"><span style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><br />
</span></span></div>
<div align="JUSTIFY" style="margin-bottom: 0in;">
<span style="font-style: normal;"><span style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"> <title></title> <style type="text/css">
<!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
-->
</style> </span></span></div>
<div align="JUSTIFY" style="margin-bottom: 0in;">
<span style="font-style: normal;"><span style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">So what is the real thing that I need to point out?. Linux is everywhere, its usage is enormous. Everyone might be using it even without knowing it. Could I make a suggestion here. Don't you feel it is worth using Linux in your desktop computer. If you do so, you will be a part of huge community and you will add great value to your skill set.<br /></span></span><br />
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">We are a Windows user from out childhood. Yes it is the truth. But do you want to be a Windows user ever?.Eventually, One thing come to my mind. It is my favorite quote all the time. “Never did the same mistake twice. There are new ones out there try something new so you will learn something new everyday”.</span></div>
<div style="text-align: center;">
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 18px;"><b><br />
</b></span></span><br />
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 18px;"><b><span class="Apple-style-span" style="font-size: 15px; font-weight: normal; line-height: 17px;"><b>© Nuwan Arambage-"transcending verge of life"</b></span></b></span></span></div>
<div align="JUSTIFY" style="margin-bottom: 0in;">
<span style="font-style: normal;"><span style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><br />
</span></span></div>
<div align="JUSTIFY" style="margin-bottom: 0in;">
<span style="font-style: normal;"><span style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><br />
</span></span></div>
<span style="font-style: normal;"><span style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"> </span></span></div>
</div>
</div>
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"> </span></div>
</div>Nuwan Arambagehttp://www.blogger.com/profile/14542750830276257387noreply@blogger.com0tag:blogger.com,1999:blog-4275211226932524630.post-25067955903213307062011-04-07T10:36:00.000-07:002011-12-26T22:47:01.101-08:00Karmic Koala Ride Part One<div class="separator" style="clear: both; text-align: center;">
<a href="http://farm3.static.flickr.com/2454/3650149196_0aeb8f9662.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="http://farm3.static.flickr.com/2454/3650149196_0aeb8f9662.jpg" width="400" /></a></div>
<title></title> <style type="text/css">
<!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
-->
</style> <br />
<div align="JUSTIFY" style="margin-bottom: 0in;">
<div style="text-align: justify;">
<span style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">Still I remember the day that I have ordered the free Ubuntu CD.I just ordered it because one of my friends told me it is free and they deliver to your address with no cost. I don’t have any idea what Ubuntu is up to and why they give it for free. Why such a big community working on non-profit oriented purpose.I just only heard it is a Linux distribution. I was curious so then I installed it on my desktop. Pretty interesting, different look and feel, but I don’t know how to work with it. Frankly speaking, it is not user friendly like Windows at that time. After two days I decided to remove Ubuntu and then Windows XP becomes my OS in usual way. My first Ubuntu attempt failed and Bill Gates wins. I feel this is like really a confession that states how I finally become an Ubuntu user. Time went up; day by day I was getting stick to Windows.</span></div>
<span style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"> <title></title> <style type="text/css">
<!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
-->
</style> </span><br />
<div align="JUSTIFY" style="margin-bottom: 0in;">
<span style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">Suddenly, I was called for an interview. It is a software company that makes ATM solution and banking applications. I have prepared for interview and it is my first interview. While I was interviewed, he told me we are using Sun Solaris in our server so do you have any UNIX knowledge. Ah God, I feel tranquility in my brain. I have no choice, I was thinking whether tell the truth or not. As I said before I don’t have hard experience in UNIX or UNIX like OS.I was trying to handle the situation telling I have studied Operating System in my degree course and we have installed Fedora 11 on VMware. Now, things were getting worse. He keeps asking a lot of smart questions. Eventually, I was failed the interview and they sent me the mail mentioning, at the moment we are unable to recruit you since you are not suit for our requirement. I was so frustrated and keep thinking why the hell this Linux is more important. I don’t want failed twice and try to keep things getting back on track. I have ordered Open Solaris 9. Installed, try to find a way to learn things, unfortunately abandoned again.Window is the only option that I have. I decided to drag with Windows XP.</span><br />
<span style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"> <title></title> <style type="text/css">
<!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
-->
</style> </span><br />
<div align="JUSTIFY" style="margin-bottom: 0in;">
<span style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">By the way, things are getting change. Little by little I’m going love open source culture and the way it modeled and works. Seriously I love it now. I strongly believe internal working of software should not be closed from its users and it is also free as free beer.In my personal opinion, Open source community done a great job towards Software industry. At last I become an Ubuntu user not the hard core user as per now, want to be a powered one someday. It is pretty interesting throwing Windows and Gates away from my computer forever and ever. In reality, everything depends on your capacity. How hard you work and how efficiently you work. Converting form Windows to Ubuntu won’t be a hard task at all but your resistance to change will cage you in Windows. In my personal experience, another major reason why I abandoned Linux twice is I don’t know how to work around it at first hand. Sometimes, when you are going to use Ubuntu first time you really become frustrated even if there are forums support, community documentation out there. Finally practicality and experience always matters. Learning in hard way is much better but I would like to share my Ubuntu experience which will at least help you to begin your own Ubuntu journey with less effort and less frustration.</span><br />
<span style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"> <title></title> <style type="text/css">
<!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
-->
</style> </span><br />
<div align="JUSTIFY" style="margin-bottom: 0in;">
<span style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">You may have experience installing Windows XP. Installing Ubuntu is same as Windows since it starts along with GUI. Nothing happens behind installing Ubuntu other than boot up the live CD and few mouse clicks. You are able to install Ubuntu without any sweat. After that think what you want to do....Simply I will point down what I need to do with Ubuntu 9.10.</span></div>
<div align="JUSTIFY" style="margin-bottom: 0in;">
</div>
<ul>
<li><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">First you need to install software on top of Ubuntu.</span></li>
<li><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">Removing software and updating installed software.</span></li>
<li><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">If you are a Java developer you need set up development environment such as installing JDK , Eclipse IDE and other required softwares.</span></li>
<li><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">If you want to be a better Linux user, your best friend would be your terminal all the way. I mean you should familiar with frequently used commands.</span></li>
</ul>
<div>
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"> <title></title> <style type="text/css">
<!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
-->
</style> </span><br />
<div align="JUSTIFY" style="margin-bottom: 0in;">
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">Up to now, I think most of hard part is over. Meaning that you don't want to shift from Ubuntu to Windows because most of the things that you do is possible in your computer now.</span></div>
<div align="JUSTIFY" style="margin-bottom: 0in;">
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">Stay tuned to follow the forth coming post that makes you Ubuntu journey as easy as pie. At first I will cover how to install packages(software) on top of Ubuntu 9.10(Karmic Koala).</span><br />
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><br />
</span></div>
<div align="JUSTIFY" style="margin-bottom: 0in;">
<div style="text-align: center;">
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span" style="font-size: 15px; line-height: 17px;"><b>© Nuwan Arambage-"transcending verge of life"</b></span></span></div>
</div>
</div>
</div>
</div>
</div>Nuwan Arambagehttp://www.blogger.com/profile/14542750830276257387noreply@blogger.com0tag:blogger.com,1999:blog-4275211226932524630.post-47565164939999639682011-03-17T11:05:00.000-07:002011-03-17T12:05:44.319-07:00Nasty Bug Eats Up CPU Cycles<div style="text-align: justify;"><span lang="EN-US" style="line-height: 115%;"><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">After a long break, I have found time to write a very shot article regarding recent java vulnerability surfaced out. The first this comes to my mind is the original article compelled me to write a blog in my own words. You are able to read original one <a href="http://www.theregister.co.uk/2011/02/07/java_denial_of_service_bug/">here</a>. It was published on ‘The Register’ online magazine with the heading of ‘Mark-of-the-Beast’ bug topples java apps. Simply, latest version (definitely it will be java 1.6 along with update number) of java runtime causes to hang the computer when programme encounter a numerical value with large decimal points. Now it is time see what it is all about and get your hands busy on keyboard to type below simple code. It might be unbelievable that this simple code fragment would cause 100% CPU utilization in java.exe process. It will happen for sure.</span></span><br />
<span lang="EN-US" style="line-height: 115%;"><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><br />
</span></span><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizwxsoJIDq5zhOYfDu4BcXDKW1vq56kPORtpUiNArTSb1dI6-WiwrmT0ALH_xwVUC9PqHelk2gWTutqST8jA5JrNPEzaFFU5xu_XhfTf263PoBZAQQnGxDfH1x836zOBQTBYS2km5cu1nw/s1600/CUPHang.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="156" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizwxsoJIDq5zhOYfDu4BcXDKW1vq56kPORtpUiNArTSb1dI6-WiwrmT0ALH_xwVUC9PqHelk2gWTutqST8jA5JrNPEzaFFU5xu_XhfTf263PoBZAQQnGxDfH1x836zOBQTBYS2km5cu1nw/s400/CUPHang.JPG" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMELpNm0TsLLWzOmfSfcPEoY_LJsoqH0UOmlcecMi75WZuVKV2mYwcf3avMtqPGRFP01Pb7D4xm8xLtw7uk2P7JnxSVaa_qDTdo3Cqx97NVImg13-HNV93qVf9CfE9qL3z550Sw685IHuY/s1600/Task_Manager.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="171" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMELpNm0TsLLWzOmfSfcPEoY_LJsoqH0UOmlcecMi75WZuVKV2mYwcf3avMtqPGRFP01Pb7D4xm8xLtw7uk2P7JnxSVaa_qDTdo3Cqx97NVImg13-HNV93qVf9CfE9qL3z550Sw685IHuY/s400/Task_Manager.JPG" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPcfoWaTVcSW1g9bRwazokDUPxueP24KZ-3fAQykUe_FxbFkfZ2W_JW7PPZO5roKARY7349tDWetolWSce49Kgad0S4Zi-P7oRXwC4l9QeKEny6gP33lxkWIQxbuE15JIbQDzmBdjGZUoS/s1600/CUP_Graph.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="131" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPcfoWaTVcSW1g9bRwazokDUPxueP24KZ-3fAQykUe_FxbFkfZ2W_JW7PPZO5roKARY7349tDWetolWSce49Kgad0S4Zi-P7oRXwC4l9QeKEny6gP33lxkWIQxbuE15JIbQDzmBdjGZUoS/s400/CUP_Graph.JPG" width="400" /></a></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">I have tested this vulnerability in my machine. This is the system environment details as follows.In nutshell, it was susceptible even in Linux environment.You can try it by it yourself if you are a opensource Linux user <span class="Apple-style-span" style="font-family: Wingdings;">J</span>(geeks fond of Linux) how this nasty bug eats up your CPU cycles until 100%. </span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimxN3lVFc27uKJbOq5H5PQY_mRzfNt2wIXbLgR2jE128Ur2TQ_U2A4ZbWUs9cis7uZzeSpzNGJ9iRB__xFTUD6eS1JmexsnyAUpWWgvVOe8Cy9oYqKVhFTk7nC3zKN6Cb3Eb_FsuhVmQHY/s1600/System+Information.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="312" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimxN3lVFc27uKJbOq5H5PQY_mRzfNt2wIXbLgR2jE128Ur2TQ_U2A4ZbWUs9cis7uZzeSpzNGJ9iRB__xFTUD6eS1JmexsnyAUpWWgvVOe8Cy9oYqKVhFTk7nC3zKN6Cb3Eb_FsuhVmQHY/s400/System+Information.jpg" width="400" /></a></div><span lang="EN-US" style="line-height: 115%;"></span><br />
<div class="MsoNormal" style="text-align: justify;"><span lang="EN-US" style="line-height: 115%;"><span lang="EN-US"><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">Community people define this kind of vulnerabilities as an application level denial of service. In the sense, let’s take previous example, the process which runs the JVM eat up all the CPU cycles. JVM is an application level process not a low level OS process. This was first exposed in PHP language after found that it also could possible in java. As far as updates Oracle won’t give a perfect solution to the vulnerability. The Risk is most of the java enabled web sites are now vulnerable to the application level denial of service. Size of the attack might be less than 1000 bytes and attacker won’t be caught most of the times. Moreover, you won’t be able to prevent the attack by any kind of ISP or firewall. I would quote reasons to the vulnerability which was explained by Bryan Sullivan.</span></span></span></div><span lang="EN-US" style="line-height: 115%;"> </span><br />
<div class="MsoNormal" style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;"><span lang="EN-US" style="line-height: 115%;"><span class="Apple-style-span" style="color: #666666;"><i><span lang="EN-US">“</span></i><span class="apple-style-span"><i><span lang="EN-US" style="font-family: Arial, sans-serif; line-height: 115%;">The problem with this particular range of values that causes the hang for Java is that there's a logic flaw in the Java code that performs the approximation. There's a loop in the code that tests different possibilities to try to get as close as possible to the correct value: a little higher value this iteration, then a little lower, and so on until the best approximation is made. But when this code tries to approximate values around 2.225073858507201E-208, it loops forever, never finding an acceptable approximation</span></i></span></span><i><span lang="EN-US"><span class="Apple-style-span" style="color: #666666;">”.<o:p></o:p></span></span></i></span><br />
<div style="color: #666666;"><span lang="EN-US" style="line-height: 115%;"><i><span lang="EN-US"><br />
</span></i></span></div></div><div class="MsoNormal" style="text-align: justify;"><span class="Apple-style-span"><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span" style="line-height: 18px;">I would murmur to myself, there were, are and will be no silver bullets in software industry. The ancient proverb comes to my mind.”The small leak can sink a great ship”. Same thing can be applied here. Big boss JVM hangs forever due to incapability of handling large decimal point numbers.</span></span></span><br />
<span class="Apple-style-span"><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span"></span><span class="Apple-style-span" style="line-height: 18px;"><br />
</span></span> <span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span"><span class="Apple-style-span"><span class="Apple-style-span" style="line-height: 18px;">At the end, this week is very bad to Planet Earth.I don't want to remind there was catastrophe occurred in Japan making millions damage to the economy and usual day to day work.And Red Nose Day in UK shakes minds reminding there are many people dying because of not having proper safety to keep away from Malaria.There might be roadblocks, difficulties on the way.However, everything in life is possible.Personally, I was thinking it is more important to write something which improve our thinking power which helps to get rid of big time failures in our life.Hope you all waiting for the next article I'm going to write as soon as I get time.Keep moving until next Tsunami wave wets your feet :P.</span></span></span></span></span><br />
<span class="Apple-style-span"><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span"><span class="Apple-style-span"><span class="Apple-style-span" style="line-height: 18px;"><br />
</span></span></span></span></span><br />
<div style="text-align: center;"><span class="Apple-style-span"><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span" style="line-height: 18px;"><span class="Apple-style-span" style="color: #444444; font-size: 15px; line-height: 17px;"><b>© Nuwan Arambage-"transcending verge of life"</b></span></span></span></span></div><div style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span" style="line-height: 18px;"><br />
</span></div><div style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span" style="line-height: 18px;"><br />
</span></div><div style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span" style="line-height: 18px;"><br />
</span></div></div></div>Nuwan Arambagehttp://www.blogger.com/profile/14542750830276257387noreply@blogger.com0tag:blogger.com,1999:blog-4275211226932524630.post-19815168521226539802011-03-05T20:58:00.000-08:002011-03-05T22:08:23.171-08:00Attach JDK Source Code in Eclipse IDE<div style="text-align: justify;"><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">I wouldn’t wonder what your favorite IDE is and by the way most of the software developers prefer Eclipse or Netbeans as their integrated development environment. I prefer using Eclipse since it does have its maturity itself and great community gathered around it. The point I want to explain here is how to attach JDK sources to your favorite eclipse editor. When you code, probably you might encounter this problem. It is mentioned below. You won’t be able to see the String class source code.<br />
</span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6ondb-rHUusUdcX7FckZdt2xUNLoqc7ETUZrRNKpAb0uQM91nG3gZ-4pnoJtmaNzMMffWUjCnOhkndygI2PYFKMC39dPjwxakOqrTclcbRuNtg1XiBgesXu_t_Zl3En3mr-Qo4XdTRCCm/s1600/String_class_source_code.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="220" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6ondb-rHUusUdcX7FckZdt2xUNLoqc7ETUZrRNKpAb0uQM91nG3gZ-4pnoJtmaNzMMffWUjCnOhkndygI2PYFKMC39dPjwxakOqrTclcbRuNtg1XiBgesXu_t_Zl3En3mr-Qo4XdTRCCm/s400/String_class_source_code.JPG" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div style="text-align: justify;"><span class="Apple-style-span" style="color: #666666;"><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US" style="font-size: 11pt; line-height: 115%;">Yeah right. Cool, sometimes eclipse automatically detect the source code relates to JDK class libraries.IN case if not you will be experiencing this message “Source not found”. No worries, we have to get out of this in order to see the implementation of the JDK classes. Yeah we can handle it; it is not a rocket science </span><span lang="EN-US" style="font-size: 11pt; line-height: 115%;">J</span></span><span lang="EN-US" style="font-size: 11pt; line-height: 115%;"><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"> seeing the implementation of JDK library classes. Rationale is you have to attach the source file to eclipse IDE. Let’s do this. There is several ways to do this.</span></span></span><br />
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US" style="font-size: 11pt; line-height: 115%;"></span></span><br />
<div class="MsoNormal" style="text-align: justify;"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif; line-height: 17px;"><b><span lang="EN-US" style="line-height: 115%;">First Method</span><span lang="EN-US" style="font-size: 14pt; line-height: 115%;"> </span></b></span></div><div class="MsoNormal" style="text-align: justify;"><span class="Apple-style-span" style="color: #666666; font-size: 15px; line-height: 17px;"><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;">You can directly link source code by clicking the attach source button and giving the location where source code folder is. Normally, source code folder bundles in under JDK $HOME (e.g. C:\Program Files\Java\jdk1.6.0_14\src.zip)</span></span><br />
<span class="Apple-style-span" style="color: #666666; font-size: 15px; line-height: 17px;"><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"><br />
</span></span><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-rXccC-vXHN2bGmRiZyUFe6Sbr4fN5bih3QvN_-NblzaPwamq5Q1q5sWbaUPHSXA9lcijXUt_ZDjzp2ZUzlGVnZ-ANrIZYCDIyxnjHWKgiLdhvqBL9mYmYZ-RENED2MnWiUcsXq-Zq08e/s1600/attachment_window.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="156" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-rXccC-vXHN2bGmRiZyUFe6Sbr4fN5bih3QvN_-NblzaPwamq5Q1q5sWbaUPHSXA9lcijXUt_ZDjzp2ZUzlGVnZ-ANrIZYCDIyxnjHWKgiLdhvqBL9mYmYZ-RENED2MnWiUcsXq-Zq08e/s400/attachment_window.JPG" width="400" /></a></div><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif; font-size: 15px; line-height: 17px;"></span><br />
<div class="MsoNormal"><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif; font-size: 15px; line-height: 17px;"><span lang="EN-US">You could give the location by clicking external file and specify the source code location. Now it is fine. You are able to see the String class source code. It looks like a below figure.</span></span><br />
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif; font-size: 15px; line-height: 17px;"><span lang="EN-US"><br />
</span></span></div><div class="separator" style="clear: both; text-align: center;"><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif; font-size: 15px; line-height: 17px;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicLEEQZVZmMqXWbsqy658pYVCEz1tZGbG1sBkrVRXzu0hrvQ14uBYub7uUX4unHvyReZS4wEHHQjKOJu7O38xIA6frvD_D8DG9NYgytHHNWo4N2aCQPO8j7LZm8NX8RP3nKbxGemBbU1gq/s1600/String_class_source_code.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="220" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicLEEQZVZmMqXWbsqy658pYVCEz1tZGbG1sBkrVRXzu0hrvQ14uBYub7uUX4unHvyReZS4wEHHQjKOJu7O38xIA6frvD_D8DG9NYgytHHNWo4N2aCQPO8j7LZm8NX8RP3nKbxGemBbU1gq/s400/String_class_source_code.JPG" width="400" /></a></span></div><div class="MsoNormal"><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif; font-size: 15px; line-height: 17px;"><span lang="EN-US"><br />
</span></span></div><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif; font-size: 15px; line-height: 17px;"> </span></div><span class="Apple-style-span" style="font-family: Calibri, sans-serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 14px;"><b><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif; font-size: small; font-weight: normal; line-height: 17px;"><b><span lang="EN-US" style="color: #444444; line-height: 18px;">Second Method</span></b></span></b></span></span><br />
<span class="Apple-style-span" style="line-height: 18px;"><span class="Apple-style-span" style="color: #666666;"><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"><sub><span lang="EN-US" style="line-height: 115%;"><span class="Apple-style-span" style="font-size: small;">This method does the same thing where first method did. First you should navigate to the right location. Here is the direction. Right click on particular project then <b>properties->Java->Build Path->Libraries</b></span></span></sub><span lang="EN-US" style="line-height: 115%;">.</span><span lang="EN-US" style="font-size: 13pt; line-height: 115%;"> </span><span lang="EN-US" style="font-size: 11pt; line-height: 115%;">Then expand the JRE System Library, after that again expand the rt.jar click on the Source attachment. At last, you need to give location of source code</span></span><span lang="EN-US" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: 115%;">.</span></span></span><br />
<span class="Apple-style-span" style="line-height: 18px;"><span class="Apple-style-span" style="color: #666666;"><span lang="EN-US" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: 115%;"><br />
</span></span></span><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0y9p1im1s9APKyKBAebGdoSjzEutVtvxN_o9p43t4eO9cclC5qYowNiY9NoOmlU7wwd1MRTn4Jj0F897G9gqmGbUolH47JKGbz0HFZLpJt5b4qdxXb9kQaCTyIgz4O02WVQYD7L2vhV80/s1600/second+method.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="313" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0y9p1im1s9APKyKBAebGdoSjzEutVtvxN_o9p43t4eO9cclC5qYowNiY9NoOmlU7wwd1MRTn4Jj0F897G9gqmGbUolH47JKGbz0HFZLpJt5b4qdxXb9kQaCTyIgz4O02WVQYD7L2vhV80/s400/second+method.JPG" width="400" /></a></div><span class="Apple-style-span" style="font-family: Calibri, sans-serif; font-size: x-small; line-height: 14px;"><b><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif; font-size: small; font-weight: normal; line-height: 17px;"><b><span lang="EN-US" style="color: #444444; line-height: 18px;"><br />
</span></b></span></b></span><br />
<span class="Apple-style-span" style="font-family: Calibri, sans-serif; font-size: x-small; line-height: 14px;"><b><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif; font-size: small; font-weight: normal; line-height: 17px;"><b><span lang="EN-US" style="color: #444444; line-height: 18px;">Third Method</span></b></span></b></span><br />
<span class="Apple-style-span" style="color: #666666;"><span class="Apple-style-span" style="line-height: 14px;"><b><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif; font-weight: normal; line-height: 17px;"><b><span lang="EN-US" style="line-height: 18px;"></span></b></span></b></span><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;">So far we have learned two methods to see the source of the JDK library classes. This is the last method that we are going to discuss. Personally I prefer this method rather than using previously mentioned methods. These are the steps. First go to <b>Window->Preferences->Java->Installed JRE’s and click Edit.</b> For your desired JRE, expand rt.jar and select Source attachment then click Source attachment.Simply, select source code file and press OK.</span></span><br />
<span class="Apple-style-span" style="color: #666666;"><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"><br />
</span></span><br />
<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrz0Ap-3mvjZJl8jfEznQuyPqPrfrK6wrmIADm4i-gdRFm9hT5nkC636pT3ylExYmvEKKYmT-7DEKL_RyFqyWLALuJF5-Evxq7F7tMioqmN1j1uRB4W-PhJmsB15DbphF4cqp8q5LYoBXh/s1600/3rd+Method.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrz0Ap-3mvjZJl8jfEznQuyPqPrfrK6wrmIADm4i-gdRFm9hT5nkC636pT3ylExYmvEKKYmT-7DEKL_RyFqyWLALuJF5-Evxq7F7tMioqmN1j1uRB4W-PhJmsB15DbphF4cqp8q5LYoBXh/s400/3rd+Method.JPG" width="391" /></a></div><span class="Apple-style-span" style="color: #666666;"><sub><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif; font-size: small;"><span lang="EN-US" style="line-height: 115%;">In a conclusion, this is not a hard task to do. However, why I write this blog targeting the developer audience who will be diving deep to feel the inside of JDK class libraries. Still if you are not in a position to feel the inside of java. This article will provide a big help to get going further</span><span lang="EN-US" style="line-height: 115%;">.</span></span></sub> </span><br />
<span class="Apple-style-span" style="color: #666666;"><sub><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif; font-size: small;"><span lang="EN-US" style="line-height: 115%;"><br />
</span></span></sub></span><br />
<div style="text-align: center;"><span class="Apple-style-span" style="color: #666666;"><sub><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif; font-size: small;"><span lang="EN-US" style="line-height: 115%;"><span class="Apple-style-span" style="color: #444444; font-size: 15px; line-height: 17px;"><b>© Nuwan Arambage-"transcending verge of life"</b></span></span></span></sub></span></div></div>Nuwan Arambagehttp://www.blogger.com/profile/14542750830276257387noreply@blogger.com1tag:blogger.com,1999:blog-4275211226932524630.post-50636615337858784512011-02-28T08:11:00.000-08:002011-03-05T20:59:15.726-08:00Magnifying HelloWorld App Part Two<div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif; line-height: 20px;"></span><br />
<div class="MsoNormal" style="text-align: justify;"><span class="apple-style-span"><span lang="EN-US" style="color: #666666;"><span class="apple-style-span"><span lang="EN-US" style="font-family: Georgia, 'Times New Roman', serif; line-height: 115%;">(Java Virtual Machine Insights)<br />
</span></span></span></span><br />
<span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span" style="color: #666666;"><span class="apple-style-span"><span lang="EN-US">In the first part of the article, we know that what happens when we compile and run the HelloWorld program. Then you got to know how JDK directories are structured. When it comes to the java platform, Java Virtual Machine is the heavy lifting guy who does the great job to serve the most of the java buzzwords to the table. Today, it is a good time to snoop out what really goes in the JVM. Tighten you buckles up we are planning for a big leap (just kidding</span></span><span class="apple-style-span"><span lang="EN-US">J</span></span><span class="apple-style-span"><span lang="EN-US">). As beginner you don’t need to go through each and every aspects of JVM. But there are several things to be kept in your permanent memory area. If you like to dig deeper JVM is the good area to work around. I would try to keep thing as much as simpler.</span></span></span><span class="Apple-style-span" style="color: #666666;">In nutshell, JVM stands for Java Virtual Machine. What does it mean to you? Virtual machine means that it is machine which doesn’t have a physical existence. In the essence, it is virtually lives on top of your operating system. You have seen it.JDK folder structure and where jvm.dll file is. That’s why most people say java platform is a software only platform. Simple point to be highlighted, JVM is part of the java runtime environment and it resides on top of the operating system. Biggest buzzword Java people are proud of ‘platform independence ’, “hell yeah we write code once and run anywhere” exists because of the JVM. JVM is the guy who works behind you to write the platform independence code. These things might be confusing you although Java Virtual Machine implementation for a specific operating system is platform dependent. Moreover, JVM implementation for Windows NT is different form JVM implantation for Mac OSX.<br />
<br />
</span></span><br />
<div class="MsoNormal" style="text-align: justify;"><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span" style="color: #666666;">Sun Microsystems was the company who invented the java technology, in 2010 oracle acquired sun. Now it is part of the Oracle Cooperation. Here we are taking more about JVM. When it comes to real fact, Java Virtual Machine is just a specification initially provided by the Sun Microsystems. After agreeing upon the terms and conditions anyone can implement the JVM with respect to the specification. By default most of the developers use the Sun’s implementation of the JVM. Open JDK is another project that implements the open source version of JVM. Azul System provides the enterprise level java run time environment for large scale projects. It is the java runtime where you can have large memory for garbage collected heap (usually maximum garbage collected heap size for JVM is 2GB) Then we are jumping to the how JVM is defined by the specification at high level. First point JVM specification is very flexible that means it is less constrained. So that it gives more freedom to implementers to design JVM implementation by their own way.</span><span class="Apple-style-span" style="color: #666666;"><br />
<br />
</span></span><br />
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">In simplest form, JVM has two parts. It contains class loader and the execution engine. Now we come to our simple HelloWorld program, you have seen the JVM loads classes form rt.jar file. Class loader is totally responsible for this job. And execution engine is done the running your HelloWorld program. I would say it is responsible for interpreting byte code made by java compiler. The statement is not totally correct when JVM combined with just in time compilation and adoptive optimization. You will be learned those things in my next articles. Perhaps you hear about hotspot JVM, or you use it without knowing it. (Type the java –version in command prompt to verify which version and type of the JVM you are using).Hotspot JVM is a recent JVM which has just in time compilation and adoptive optimization. Hotspot JVM is really capable enough to identify hotspots (heavily active code) and compile them into native machine code. Rest of the code will be interpreted as program goes.</span><br />
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><br />
</span></div><div class="MsoNormal" style="text-align: justify;"><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"> </span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPnIm5-37Fd72nKjbvbU14yqWHmN2H-GVL469qk97se-RvJso3O4lgtoLZjMbENmy8s1LtFiTYNZmEdRVWBYYi0wBFik4hUQy7s6mtXB-ilmOawbj0Zjx4-0_0vmv0GRJCMuEtGsnb2mh7/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"><img border="0" height="273" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPnIm5-37Fd72nKjbvbU14yqWHmN2H-GVL469qk97se-RvJso3O4lgtoLZjMbENmy8s1LtFiTYNZmEdRVWBYYi0wBFik4hUQy7s6mtXB-ilmOawbj0Zjx4-0_0vmv0GRJCMuEtGsnb2mh7/s400/1.jpg" width="400" /></span></a></div><span class="Apple-style-span" style="font-size: medium;"><span class="apple-style-span"><span lang="EN-US" style="color: black; font-family: Georgia, 'Times New Roman', serif;"><br />
</span></span></span><br />
<span class="Apple-style-span" style="font-size: medium;"><span class="apple-style-span"><span lang="EN-US"></span></span></span><br />
<div class="MsoNormal" style="text-align: justify;"><span class="apple-style-span"><span lang="EN-US"><span class="apple-style-span"><span lang="EN-US"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;">I will simplify it in this way. Think class loader and execution engine are piece of software which are interacting each other to run the java program. When JVM instance starts these components are in main memory. They require a memory to store things where loaded class files reside. This figure shows how main memory is being composed to facilitate the JVM work. This figure gives you the glimpse of memory area that JVM uses<span class="Apple-style-span" style="font-size: medium;">.<br />
</span></span></span></span></span></span><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirYGQXtPOMaJxGztzgHABSR81YQ5dltexrx4e45NPBFwTi5x6PM8-kTABqLNdPmNqfgcN8oOLxPccDeJzBPCLNqi8kWKmYy4nbgl0q39lXnPqdwvmNCx-c5yn_bvty3LA6d4M9csHJ2TYC/s1600/2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="301" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirYGQXtPOMaJxGztzgHABSR81YQ5dltexrx4e45NPBFwTi5x6PM8-kTABqLNdPmNqfgcN8oOLxPccDeJzBPCLNqi8kWKmYy4nbgl0q39lXnPqdwvmNCx-c5yn_bvty3LA6d4M9csHJ2TYC/s400/2.jpg" width="400" /></a></div><div class="MsoNormal" style="text-align: justify;"><span lang="EN-US"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"> Run time data area is the entire memory which is utilized by the class loader sub system and execution engine. Runtime data area is divided into five areas based on JVM specification and purpose they serve. Implementation of those memory areas might be varying depending on the implementer’s decision. However, every JVM should have these five components inside runtime data area.<br />
<br />
<o:p></o:p></span></span></div><div class="MsoNormal" style="text-align: justify;"><span lang="EN-US"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"></span></span></div><div class="MsoNormal" style="text-align: justify;"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US">Before explaining each component, you need to understand main method in our HelloWorld program runs as separate thread. It is known as main thread. As beginner you might not be familiar with thread at first hand. I will give you the quick tips to catch up threading concepts. By definition thread is a light weight process and it is an independent path of execution within a single program. Threads share resources among them. You will get to know what memory shared among thread when I explain each component. Java threading is an important area where you have to spin out your brain. For the sake of this article, you just need to know these points.<o:p></o:p></span></span><br />
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><br />
</span></div><div class="MsoNormal" style="text-align: justify;"><span lang="EN-US"><u style="font-weight: bold;"><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;">Method Area:</span></u></span><br />
<span lang="EN-US"><u style="font-weight: bold;"><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"></span></u></span><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US">Class loader loads the information about classes, interfaces and types that you have used in your program to this memory area. Simply it contains the all the details relevant to classes. For an instance in our HelloWorld program, information about HelloWorld class is stored in method area. In reality method area contains the actual representation of the .class file in memory. It has the following memory areas such as runtime constant pool, method code, attributes and fields. If you are more interested about these terms I will leave those things for you as a home work </span></span><span lang="EN-US"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US" style="font-family: Wingdings; font-size: 11pt; line-height: 115%;">J</span>.</span></span><br />
<div class="MsoNormal" style="text-align: justify;"><span lang="EN-US"><span lang="EN-US"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><br />
</span></span></span></div><div class="MsoNormal" style="text-align: justify;"><span lang="EN-US"><b><span lang="EN-US"><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"><u> Heap:</u></span></span></b></span></div><div class="MsoNormal" style="text-align: justify;"><span lang="EN-US"><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US" style="color: #444444;">When you crate object using new keyword within your programme, those objects are placed onto the heap memory. Heap stores the objects that you created. In our example, we haven’t created any object so that, we wouldn't utilize the heap memory area. <br />
<o:p></o:p></span></span></span></div><span lang="EN-US"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"> </span></span><br />
<div class="MsoListParagraphCxSpFirst" style="text-align: justify;"><span lang="EN-US"><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US"><b><span class="Apple-style-span" style="font-size: x-small;">Important</span></b></span></span></span><br />
<ul><li><span lang="EN-US"><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US"><b><span class="Apple-style-span" style="font-size: x-small;"><span class="Apple-style-span" style="color: #444444; font-size: small; font-weight: normal;"><i style="background-color: cyan;">Method area and heap is being shared among threads, any threads can have access to the resources inside those two memory area.</i></span></span></b></span></span></span></li>
</ul></div><span lang="EN-US"><b><u><o:p></o:p></u></b></span><br />
<div class="MsoNormal" style="text-align: justify;"><span lang="EN-US"><b><span lang="EN-US"><u><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;">Stack:</span></u></span></b></span></div><div class="MsoNormal" style="text-align: justify;"><span lang="EN-US"><span lang="EN-US"></span></span></div><div class="MsoNormal" style="text-align: justify;"><span lang="EN-US"><span lang="EN-US"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;">JVM is built on stack based architecture; stack helps keep track of method invocations done by the particular thread. Stack is data structure which has the LIFO property, pop and push operations can be done upon the stack agreeing to the LIFO property. LIFO means Last in First Out, you can only pop /get last element from the top of the stack. Both operations are done form the top of the stack. This is the representation of a stack.</span><u style="font-weight: bold;"><o:p></o:p></u></span></span><br />
<span lang="EN-US"><span lang="EN-US"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><br />
</span></span></span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJov3A-YN4Wi-VsziBbWsCPMsk0KtWKTvTOunCwTuxf7HfJKIulNsLT68N91MJYWtmXd00C75nDvNWRRJyfUfAqvK51i20mfUmZGISEB-RzXDhgwsskyfgv9vwHOSdpeCKr7sG0AV7Bw2E/s1600/3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="143" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJov3A-YN4Wi-VsziBbWsCPMsk0KtWKTvTOunCwTuxf7HfJKIulNsLT68N91MJYWtmXd00C75nDvNWRRJyfUfAqvK51i20mfUmZGISEB-RzXDhgwsskyfgv9vwHOSdpeCKr7sG0AV7Bw2E/s200/3.jpg" width="200" /></a></div><br />
</div><div class="MsoNormal"><span lang="EN-US"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;">Same thing occurs inside the JVM. Each and every thread has own stack. One stack has many elements called stack frames. Stack frame contains the state of the method invocation. When particular thread invokes a method JVM push a stack frame to the thread’s stack. When thread completes the method invocation it simply pops up the stack frame and discards it. State of the method invocation consists of operand stack, array of local variable to the method, parameters to the method, intermediate values of computations and reference to the runtime constant poll of the class of current method. Conceptually, stack frame is looks like this.</span><o:p></o:p></span></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX0xfnFTygiNijA7gyARv-CbfE-67_nksNyUaRkucvJ4187asC12SMZaCm9jyi2kH-UKK7i-wyL3FGR21mfFxRsv-VMZ5aaoyPDMHDBQYUPS7MtSlF46loFkU5ePHPZVgfDKzUUsT4vkfq/s1600/4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="239" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX0xfnFTygiNijA7gyARv-CbfE-67_nksNyUaRkucvJ4187asC12SMZaCm9jyi2kH-UKK7i-wyL3FGR21mfFxRsv-VMZ5aaoyPDMHDBQYUPS7MtSlF46loFkU5ePHPZVgfDKzUUsT4vkfq/s320/4.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: justify;"></div><div class="MsoNormal"><span lang="EN-US"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;">When it comes to our HelloWorld programme, we do have only one thread: main thread. So we do only have the one stack and main method is one that is to be executed. Most probably JVM has only one stack frame for our programme.</span><o:p></o:p></span></div><br />
<div class="MsoNormal"><b><span lang="EN-US"><u><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;">PC Register:</span></u></span></b><br />
<b><span lang="EN-US"><u><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"></span></u></span></b><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif; line-height: 18px;">Simply we call it, programme counter. Each thread has its own programme counter. The purpose of the programme counter is to point out the next instruction to be executed in the current method. .class file contains the byte code. Byte codes are instruction to the JVM. As I said before byte code is represented in method area. If you open the .class file using hexadecimal editor, you will see the byte code instructions. This figure shows the classes file view in hexadecimal editor.</span></div><div class="separator" style="clear: both; text-align: justify;"><span lang="EN-US" style="line-height: 115%;"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><br />
</span></span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju4Nk2ubbyI7TijNRKwgFXTHTZ_A7fm64I6CbtiIhP5EmBkBeCeucL9Moq5BHRaF-L9LcDdYdzKcZZlE8dxHvCi_AH0o2y82j-i4AT2j10qZaI3hNg1zBQS27Lf_wXp-Ibpp5dJfVU-qgR/s1600/5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju4Nk2ubbyI7TijNRKwgFXTHTZ_A7fm64I6CbtiIhP5EmBkBeCeucL9Moq5BHRaF-L9LcDdYdzKcZZlE8dxHvCi_AH0o2y82j-i4AT2j10qZaI3hNg1zBQS27Lf_wXp-Ibpp5dJfVU-qgR/s400/5.jpg" width="378" /></a></div><div class="MsoNormal" style="text-align: justify;"><span class="apple-style-span"><span lang="EN-US"><span class="apple-style-span"><span lang="EN-US"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US"><br />
</span></span></span></span></span></span><br />
<span class="apple-style-span"><span lang="EN-US"><span class="apple-style-span"><span lang="EN-US"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US">You do have another option to see the byte code instructions. Use the javap.exe command line tool which aka java disassembler with –c option. You are free to use the –verbose option with it. When you disassemble it you will see the actual instructions in a meaningful way. This is the command do disassembling. <b>Javap –c HelloWorld > HelloWorld.bc.</b> HelloWorld.bc will be created in directory where HelloWorld.class file resides. This is the output you get when you disassemble the HelloWorld.class file.<br />
<br />
<span class="Apple-style-span" style="font-size: medium;"><o:p></o:p></span></span></span></span></span></span></span><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjRDN4ZvoNNJeXwa2KqgNarg2wIP9gB-Zq89Xzey9Ixb6NzSVuPnSh5JTiMULMICJPiMRarFhVYRvGNlgyK0kXY0uuo4g-gr-nSOdv0mZC58ZcOTYcyYVvlbdD1w3ibg-2Esr-tRfttKgr/s1600/6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="195" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjRDN4ZvoNNJeXwa2KqgNarg2wIP9gB-Zq89Xzey9Ixb6NzSVuPnSh5JTiMULMICJPiMRarFhVYRvGNlgyK0kXY0uuo4g-gr-nSOdv0mZC58ZcOTYcyYVvlbdD1w3ibg-2Esr-tRfttKgr/s400/6.jpg" width="400" /></a></div><span class="apple-style-span"><span lang="EN-US"><span class="apple-style-span"><span lang="EN-US"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US"></span></span></span></span></span></span><br />
<div class="MsoNormal"><span class="apple-style-span"><span lang="EN-US"><span class="apple-style-span"><span lang="EN-US"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US"><span lang="EN-US">Inside the main () method, you will see the instructions, JVM will execute these instructions. I want to point out this thing. Pc counter will point for each instruction to be executed for a particular method invocation in a particular thread. Eventually this is complex compact representation of the runtime data area in particular JVM implementation.</span></span></span></span></span></span></span></div><span class="apple-style-span"><span lang="EN-US"><span class="apple-style-span"><span lang="EN-US"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US"> </span></span></span></span></span></span></div><span class="apple-style-span"><span lang="EN-US"><span class="apple-style-span"><span lang="EN-US"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"> </span></span></span></span></span><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGBaW0uDB3TxTJ80s30U2HwbvARHi0KNCesxoz4LobkvIyowKJWY6PUmaqDFmMVBczI-HETRbz4N5L9GwChITlHHg9Qoms9ILlBWSy4nwCrWjeXMhQQkXSJ_hWub9CumS_0zfJtmCLWEbF/s1600/7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGBaW0uDB3TxTJ80s30U2HwbvARHi0KNCesxoz4LobkvIyowKJWY6PUmaqDFmMVBczI-HETRbz4N5L9GwChITlHHg9Qoms9ILlBWSy4nwCrWjeXMhQQkXSJ_hWub9CumS_0zfJtmCLWEbF/s400/7.jpg" width="400" /></a></div><span class="apple-style-span"><span lang="EN-US"><span class="apple-style-span"><span lang="EN-US"><span class="Apple-style-span" style="color: #444444;"></span></span></span></span></span><br />
<div class="MsoNormal" style="text-align: justify;"><span class="apple-style-span"><span lang="EN-US"><span class="apple-style-span"><span lang="EN-US"><span class="Apple-style-span" style="color: #444444;"><span lang="EN-US"><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;">I don’t want you to be boarded while you read this article, but I can’t help you out all the way. These are totally theoretical stuff to be familiar with. Now you have experienced what happens behind the sense when you run the simple HelloWorld program. A lot of the things happen. Still journey doesn’t finish.</span></span></span></span></span></span></span><br />
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><br />
</span><br />
<span class="apple-style-span"><span lang="EN-US"><span class="apple-style-span"><span lang="EN-US"><span class="Apple-style-span" style="color: #444444;"><span lang="EN-US"><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"></span></span></span></span></span></span></span><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;">This is the wrap up session, now we all know those components of the JVM and how JVM works. Afterwards, we just need to apply these concepts to our HelloWorld program. It will be easy if I explain this step by steps.</span></div><div class="MsoNormal"><span class="apple-style-span"><span lang="EN-US"><span class="apple-style-span"><span lang="EN-US"><span class="Apple-style-span" style="color: #444444;"><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US" style="font-family: Symbol;"><span style="font: normal normal normal 7pt/normal 'Times New Roman';"><br />
</span></span></span></span></span></span></span></span></div><div class="MsoNormal"><span class="apple-style-span"><span lang="EN-US"><span class="apple-style-span"><span lang="EN-US"><span class="Apple-style-span" style="color: #444444;"><span lang="EN-US"><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"></span></span><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US" style="font-family: Symbol;"><span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></span><span lang="EN-US"><b>Class loading mechanism<br />
<br />
<span class="Apple-style-span" style="font-weight: normal;">When java.exe laugher command executed, class loader sub system is looking for a HelloWorld.class file and core java library classes. All of them are loaded into method area and then JVM generates the internal representation of the each class. (See the method area).</span></b></span></span></span></span></span></span></span><br />
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><b><br />
</b></span><br />
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"></span><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><b>Execution mechanism</b></span><br />
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"></span><br />
<div class="MsoListParagraphCxSpFirst" style="margin-left: 108pt; text-indent: -18pt;"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US">1.<span style="font-weight: bold; font: normal normal normal 7pt/normal 'Times New Roman';"> </span></span><span lang="EN-US">Everything in java is a thread. Main method is also run inside a separate thread. It is known as main thread.<b><o:p></o:p></b></span></span></div><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"> </span><br />
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 108pt; text-indent: -18pt;"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US">2.<span style="font-weight: bold; font: normal normal normal 7pt/normal 'Times New Roman';"> </span></span><span lang="EN-US">In HelloWorld program we didn’t create any instance so that we didn't you the heap memory. Our example won’t consume heap memory<b>.<o:p></o:p></b></span></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 108pt; text-indent: -18pt;"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US">3.<span style="font-weight: bold; font: normal normal normal 7pt/normal 'Times New Roman';"> </span></span><span lang="EN-US">JVM is looking for a main method and it is the starting point of a program. When it is found, JVM creates a separate thread for main method.<b><o:p></o:p></b></span></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 108pt; text-indent: -18pt;"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US">4.<span style="font-weight: bold; font: normal normal normal 7pt/normal 'Times New Roman';"> </span></span><span lang="EN-US">As you already know, separate thread means, thread gets an own stack and pc register. Simply, inside main method, it is just printing a string value to the console. <b><o:p></o:p></b></span></span></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 108pt; text-indent: -18pt;"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US">5.<span style="font-weight: bold; font: normal normal normal 7pt/normal 'Times New Roman';"> </span></span><span lang="EN-US">In side main method we invoke the println (“Hello World Java”), when this method invoked, definitely stack frame is pushed to the stack. You have seen the conceptual structure of the stack frame by going through the ‘stack’ section. It has all the details to complete the method invocation. When println () method executed, stack frame will be popped up then main thread completes its job.<b><o:p></o:p></b></span></span></div><div class="MsoListParagraphCxSpLast" style="margin-left: 108pt; text-indent: -18pt;"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US">6.<span style="font-weight: bold; font: normal normal normal 7pt/normal 'Times New Roman';"> </span></span><span lang="EN-US">Our simple HelloWorld program does its job and then become dead main thread is completed. Main thread is the only thread in this HelloWorld program.<b><o:p></o:p></b></span></span><br />
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US"><br />
</span></span></div></div><span class="apple-style-span"><span lang="EN-US"><span class="apple-style-span"><span lang="EN-US"><span class="Apple-style-span" style="color: #444444;"><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;">Eventually we are 100% done.I believe this article helps you to get a depth knowledge about JVM and really interesting area which should be drilled down deep by yourself.Now it's your turn.Learn something new everyday and keep sharing with others.</span> </span></span></span></span></span><br />
<span class="apple-style-span"><span lang="EN-US"><span class="apple-style-span"><span lang="EN-US"><span class="Apple-style-span" style="color: #444444;"><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"><br />
</span></span></span></span></span></span><br />
<div style="text-align: center;"><span class="apple-style-span"><span lang="EN-US"><span class="apple-style-span"><span lang="EN-US"><span class="Apple-style-span" style="color: #444444;"><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"><b>© Nuwan Arambage-"transcending verge of life"</b></span></span></span></span></span></span></div></div><span class="Apple-style-span" style="font-size: medium;"><span class="apple-style-span"><span lang="EN-US"> </span></span></span></div></div>Nuwan Arambagehttp://www.blogger.com/profile/14542750830276257387noreply@blogger.com0tag:blogger.com,1999:blog-4275211226932524630.post-89323289951307490282011-02-20T00:02:00.001-08:002011-12-27T00:23:21.650-08:00Magnifying Hello World Application : Part One<div style="text-align: justify;">
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"></span><br />
<div class="MsoNormal" style="text-align: justify;">
<span lang="EN-US" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">(JDK Insight & -verbose option)</span></div>
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"> This is 2011 end of second month. We spent two months in this newly started year 2011. I’m glad this is my fist blog article in 2011.I would prefer to say welcome to 2011 even if 2011 is already started.Again,Welcome to the year 20eleven, everyone have their own plans to be executed. I wish all we could do better in this year 2011 with no regret of what mistakes we have done and what we missed in last year. </span><br />
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><br />
</span><br />
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">Let’s get back to business, when you see the topic of this article you might feel how this guy magnifies the simple 5 lines of code programme. You might have dozen of intriguing questions blow in your mind, what is the story behind this simple programme? What a big deal, you might say to yourself "<i>I have written this programme more than 10 times and then run without any error</i>".Right good point, journey begins here. From way down to the deep end of the hello world programme, No choice I will show you how far this simple hello world programme goes<br />
</span><br />
<div class="MsoNormal" style="text-align: justify;">
<span lang="EN-US"><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">This is the code for HelloWorld programme in Java. I mentioned it below for you reference.</span><br />
</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWDld63mlQGUN5CnB03JV9zuZKvmXNhiTNqe4Dsld-TUNTP3qlpQW5-UWPJsW6NtWJ_YAnhmKwGhaAMHzY-Qt-uM0ZGVlhj43uLBjHOvxBO8iPAEC18U-W_8T4GeIGtk8d-2nimMOl9tBa/s1600/helloworld.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><img border="0" height="87" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWDld63mlQGUN5CnB03JV9zuZKvmXNhiTNqe4Dsld-TUNTP3qlpQW5-UWPJsW6NtWJ_YAnhmKwGhaAMHzY-Qt-uM0ZGVlhj43uLBjHOvxBO8iPAEC18U-W_8T4GeIGtk8d-2nimMOl9tBa/s400/helloworld.JPG" width="400" /></span></a></div>
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><br />
</span><br />
<div class="MsoNormal" style="text-align: justify;">
<span lang="EN-US"><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">Short and sweet, it is simple programme which prints the ‘Hello World Java’ on the console. In order to run the Java programme you have to compile it to the byte code that is in HelloWorld.class file. Byte codes are instruction to the java virtual machine which executes the java programme. After that you run the programme invoking the java virtual machine by typing the ‘java’ command in the command prompt. Figure below shows the way you get the output through console.</span></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQgnpvc9P5j9U99VVuf5_UMrP40on3jZByTOHEOFNHn6mrb1xnlVNgDGVVpuGavhYxdGuhcluMCv7R9wABP2794XobpzbcAr2Hq6YX6WCDiXONTtogMLRgvla1Rz28WiYqkzW2Z6Yp6zaW/s1600/Compile+%2526+Run.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><img border="0" height="80" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQgnpvc9P5j9U99VVuf5_UMrP40on3jZByTOHEOFNHn6mrb1xnlVNgDGVVpuGavhYxdGuhcluMCv7R9wABP2794XobpzbcAr2Hq6YX6WCDiXONTtogMLRgvla1Rz28WiYqkzW2Z6Yp6zaW/s400/Compile+%2526+Run.JPG" width="400" /></span></a></div>
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><br />
</span><br />
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US"></span>So far so good, I guess that you would never get a chance to use the <em>–verbose</em> option with <em>javac & java</em> commands.This figure shows the output you get when you use -verbose option with javac command.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx3TF9-EEb1xiC9nEg_-jC7zM7nziJheh4lhMz2wonOqDmXVeWkTEpDIUwOA4upTcSgJ9FuFDdCQxDY9VmOqcXJMk7o-c83e-7tyi4r9L2PetP0odcOHdm3Qe5pVWdIJa4TMLefS7Z2Nwb/s1600/compile+with+verbose.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><img border="0" height="167" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx3TF9-EEb1xiC9nEg_-jC7zM7nziJheh4lhMz2wonOqDmXVeWkTEpDIUwOA4upTcSgJ9FuFDdCQxDY9VmOqcXJMk7o-c83e-7tyi4r9L2PetP0odcOHdm3Qe5pVWdIJa4TMLefS7Z2Nwb/s400/compile+with+verbose.JPG" width="400" /></span></a></div>
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><br />
</span><br />
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif; line-height: 17px;">Things are getting complicated by now; being worried about what happens behind the sense will lead you to work out your brain a little bit. Simply have a look at the verbose output again. It shows that compiler begins to start parsing the source code then looking for classes which are used in your programme. You are able to find out what classes loaded form the screen shot of the verbose output.<br />
</span><br />
<div class="MsoNormal">
<span class="Apple-style-span" style="line-height: 17px;"><span lang="EN-US" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><b><i>It is obvious that you do have many questions in mind </i></b><span class="apple-style-span"><span lang="EN-US" style="line-height: 115%;"><b>J</b></span></span>; I will start from ground zero, java development kit (JDK) that you have installed before you begin the java programming has these directories. This diagram shows the folder structure of the JDK 1.5.</span><span lang="EN-US" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"> </span></span></div>
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span" style="color: black; font-family: 'Times New Roman';"></span></span><br />
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;">
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US" style="font-size: 10pt;"> </span></span></span><span lang="EN-US" style="color: black; font-family: 'Courier New'; font-size: 10pt;"> </span><span lang="EN-US"><a href="http://download.oracle.com/javase/1.5.0/docs/tooldocs/linux/jdkfiles.html#/jdk1.5.0"><span style="color: blue; font-family: 'Courier New'; font-size: 10pt;">jdk1.5.0</span></a></span><br />
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="color: black; font-family: 'Courier New'; font-size: 10pt;"> ___________|________<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="color: black; font-family: 'Courier New'; font-size: 10pt;"> | | |<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="color: black; font-family: 'Courier New'; font-size: 10pt;"> </span><span lang="EN-US"><a href="http://download.oracle.com/javase/1.5.0/docs/tooldocs/linux/jdkfiles.html#/jdk1.5.0/bin"><span style="color: blue; font-family: 'Courier New'; font-size: 10pt;">bin</span></a></span><span lang="EN-US" style="color: black; font-family: 'Courier New'; font-size: 10pt;"> </span><span lang="EN-US"><a href="http://download.oracle.com/javase/1.5.0/docs/tooldocs/linux/jdkfiles.html#/jdk1.5.0/lib"><span style="color: blue; font-family: 'Courier New'; font-size: 10pt;">lib</span></a></span><span lang="EN-US" style="color: black; font-family: 'Courier New'; font-size: 10pt;"> </span><span lang="EN-US"><a href="http://download.oracle.com/javase/1.5.0/docs/tooldocs/linux/jdkfiles.html#/jdk1.5.0/jre"><span style="color: blue; font-family: 'Courier New'; font-size: 10pt;">jre</span></a></span><span lang="EN-US" style="color: black; font-family: 'Courier New'; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="color: black; font-family: 'Courier New'; font-size: 10pt;"> | | __|__________<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="color: black; font-family: 'Courier New'; font-size: 10pt;">java* tools.jar | | <o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="color: black; font-family: 'Courier New'; font-size: 10pt;">javac* dt.jar </span><span lang="EN-US"><a href="http://download.oracle.com/javase/1.5.0/docs/tooldocs/linux/jdkfiles.html#/jdk1.5.0/jre/bin"><span style="color: blue; font-family: 'Courier New'; font-size: 10pt;">bin</span></a></span><span lang="EN-US" style="color: black; font-family: 'Courier New'; font-size: 10pt;"> </span><span lang="EN-US"><a href="http://download.oracle.com/javase/1.5.0/docs/tooldocs/linux/jdkfiles.html#/jdk1.5.0/jre/lib"><span style="color: blue; font-family: 'Courier New'; font-size: 10pt;">lib</span></a></span><span lang="EN-US" style="color: black; font-family: 'Courier New'; font-size: 10pt;"> <o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="color: black; font-family: 'Courier New'; font-size: 10pt;">javap* | ___ ___|___ __ <o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="color: black; font-family: 'Courier New'; font-size: 10pt;">javah* java* | | | <o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="color: black; font-family: 'Courier New'; font-size: 10pt;">javadoc* rt.jar </span><span lang="EN-US"><a href="http://download.oracle.com/javase/1.5.0/docs/tooldocs/linux/jdkfiles.html#/jdk1.5.0/jre/lib/ext"><span style="color: blue; font-family: 'Courier New'; font-size: 10pt;">ext</span></a></span><span lang="EN-US" style="color: black; font-family: 'Courier New'; font-size: 10pt;"> </span><span lang="EN-US"><a href="http://download.oracle.com/javase/1.5.0/docs/tooldocs/linux/jdkfiles.html#/jdk1.5.0/jre/lib/security"><span style="color: blue; font-family: 'Courier New'; font-size: 10pt;">security</span></a></span><span lang="EN-US" style="color: black; font-family: 'Courier New'; font-size: 10pt;"> </span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="color: black; font-family: 'Courier New'; font-size: 10pt;"> charsets.jar | / \<o:p></o:p></span></div>
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span lang="EN-US" style="font-size: 10pt;"><span class="Apple-style-span" style="color: black; font-family: 'Times New Roman'; font-size: small;"><span lang="EN-US" style="color: black; font-family: 'Courier New'; font-size: 10pt;"> localedata.jar </span></span><span class="Apple-style-span" style="color: black; font-family: 'Times New Roman'; font-size: small;"><span lang="EN-US"><a href="http://download.oracle.com/javase/1.5.0/docs/tooldocs/linux/jdkfiles.html#/jdk1.5.0/jre/lib/i386/server"><span style="color: blue; font-family: 'Courier New'; font-size: 10pt;">server</span></a></span></span><span class="Apple-style-span" style="color: black; font-family: 'Times New Roman'; font-size: small;"><span lang="EN-US" style="color: black; font-family: 'Courier New'; font-size: 10pt;"> </span></span><span class="Apple-style-span" style="color: black; font-family: 'Times New Roman'; font-size: small;"><span lang="EN-US"><a href="http://download.oracle.com/javase/1.5.0/docs/tooldocs/linux/jdkfiles.html#/jdk1.5.0/jre/lib/i386/client"><span style="color: blue; font-family: 'Courier New'; font-size: 10pt;">client</span></a></span></span> </span></span></span></div>
</div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;">
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
</div>
</div>
<br />
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><br />
</span><br />
<div class="MsoNormal">
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;">It is not that much important to understand entire folder structure but it is required to keep these points in mind.</span></div>
<div class="MsoNormal">
</div>
<ul>
<li><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"> <span class="apple-style-span"><span class="Apple-style-span" style="font-size: medium;"><span class="Apple-style-span" style="line-height: 115%;">/jdk1.5.0/bin</span><span class="Apple-style-span" style="line-height: 20px;"><br />
</span></span><span class="apple-style-span" style="font-size: 13.5pt; line-height: 115%;"><span style="font-size: 11pt; line-height: 115%;">This folder contains the entire executables that are used in java development. PATH enlivenment variable should have access to this folder in order to run the executables.<br />
<br />
</span></span></span></span></li>
<li><span class="apple-style-span"><span style="font-size: 13.5pt; line-height: 115%;"><span class="apple-style-span"><span style="font-size: 11pt; line-height: 115%;"><span class="apple-style-span"><span style="color: #444444; font-family: Georgia, 'Times New Roman', serif; font-size: 13.5pt; line-height: 115%;">/jdk1.5.0/lib<br />
<span class="Apple-style-span" style="font-size: 15px; line-height: 17px;">This folder holds the files that is used by tools and utilities in java development kit. If you want more to know what this folder is up to, just give a try with a Google search.<br />
<br />
</span></span></span></span></span></span></span></li>
<li><span class="apple-style-span"><span style="font-size: 13.5pt; line-height: 115%;"><span class="apple-style-span"><span style="font-size: 11pt; line-height: 115%;"><span class="apple-style-span"><span style="font-size: 13.5pt; line-height: 115%;"><span class="Apple-style-span" style="font-size: 15px; line-height: 17px;"><span class="apple-style-span"><span style="color: #444444; font-family: Georgia, 'Times New Roman', serif; font-size: 13.5pt; line-height: 115%;">/jdk1.5.0/jre/bin<br />
<span class="apple-style-span"><span style="font-size: 11pt; line-height: 115%;">This folder contains all the executables & libraries which is used by Java platform. For an instance, java.exe is inside this folder that helps to lunch the java application<br />
<br />
</span></span></span></span></span></span></span></span></span></span></span></li>
<li><span class="apple-style-span"><span style="font-size: 13.5pt; line-height: 115%;"><span class="apple-style-span"><span style="font-size: 11pt; line-height: 115%;"><span class="apple-style-span"><span style="font-size: 13.5pt; line-height: 115%;"><span class="Apple-style-span" style="font-size: 15px; line-height: 17px;"><span class="apple-style-span"><span style="font-size: 13.5pt; line-height: 115%;"><span class="apple-style-span"><span style="font-size: 11pt; line-height: 115%;"><span class="apple-style-span"><span style="color: #444444; font-family: Georgia, 'Times New Roman', serif; font-size: 13.5pt; line-height: 115%;">/jdk1.5.0/jre/lib<br />
<span class="apple-style-span"><span style="font-size: 11pt; line-height: 115%;">Important, this folder is the heart of java platform. It has core java libraries, property files, and resource files used by java run time environment. The point you have to keep in your mind is, number one, rt.jar file is the place where the entire java platform core API resides. It is the base library in java platform. Most of the classes are loaded to java virtual machine for this jar file and another point is to remember, the charsets.jar file that used to convert characters.<br />
<br />
</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span class="apple-style-span"><span style="font-size: 13.5pt; line-height: 115%;"><span class="apple-style-span"><span style="font-size: 11pt; line-height: 115%;"><span class="apple-style-span"><span style="font-size: 13.5pt; line-height: 115%;"><span class="Apple-style-span" style="font-size: 15px; line-height: 17px;"><span class="apple-style-span"><span style="font-size: 13.5pt; line-height: 115%;"><span class="apple-style-span"><span style="font-size: 11pt; line-height: 115%;"><span class="apple-style-span"><span style="font-size: 13.5pt; line-height: 115%;"><span class="apple-style-span"><span style="font-size: 11pt; line-height: 115%;"> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span class="apple-style-span"><span style="font-size: 13.5pt; line-height: 115%;">/jdk1.5.0/jre/bin/client<br />
<span class="apple-style-span"><span style="font-size: 11pt; line-height: 115%;">I’m ashamed to say that if you don’t know this folder you don’t learn java going through the right path. You have heard enough and enough about java virtual machine and you might learn, it is the core component in Java platform and it gives the brightness to the java landscape with platform independence. Jvm.dll is the real component that runs your java byte code by means of mechanism interacting with operating system. What I need to point out is this folder contains the jvm.dll file which acts as a Java virtual machine. Depending on your JDK version you might have client version and the server version. It will be a separate topic in my blog ‘Client JVM vs. Server JVM’.</span></span></span></span></span></li>
</ul>
<div>
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span" style="font-size: 15px; line-height: 17px;"><br />
</span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span class="apple-style-span"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;">Here we go, now we are going to run the HelloWorld programme by using -verbose option. I included the part of output here. I hope that you will be eager to see rest of it by yourself. You read that most of the core libraries are resides in rt.jar file. Now figure shows, by default JVM loads the minimum class libraries to run the java programme. Don’t be hurry and don’t be worry things that you don’t know, let it go until you read the next article ‘Magnifying HelloWorld Part Two: JVM Insights’.<o:p></o:p></span></span><br />
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><br />
</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif; margin-left: 1em; margin-right: 1em;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPhHEHVuUB_n4BfPkZlqdOBfYaNFu5DmFN8t-sQmJyk2bEFV7sVj3nFLawwzqeb9jwmhKM56KoTayyLSHPFMTGTYXQmYpzn4CV9pp2P2HBFLE4DPm_RUmIrcC4mlhVmUmdVjrkPUs6kHf0/s1600/run+wuth+verbose.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="198" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPhHEHVuUB_n4BfPkZlqdOBfYaNFu5DmFN8t-sQmJyk2bEFV7sVj3nFLawwzqeb9jwmhKM56KoTayyLSHPFMTGTYXQmYpzn4CV9pp2P2HBFLE4DPm_RUmIrcC4mlhVmUmdVjrkPUs6kHf0/s400/run+wuth+verbose.JPG" width="400" /></a></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span class="apple-style-span"><span lang="EN-US" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"></span></span><br />
<div class="MsoNormal" style="text-align: justify;">
<span class="apple-style-span"><span lang="EN-US"><span class="apple-style-span"><span lang="EN-US" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;">Up to now, you have used the magnifying glass to learn folder structure of the JDK & purpose of the each and every important directory in JDK then you find where jvm.dll file resides. Moreover Javac compiler option: -verbose shows you what happens when you compile source code. Don’t you think how long we come and how far we have to go? We came 30% of the HelloWorld magnification journey by clearing road blocks. Stay tuned we are 70% away…..!!. </span></span></span></span></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp9okbR_3JzwVPHJZ4Wfj0LxyblhismJKz358oJZWOrDUd0MOYc3hLTR72g-tuahwCzrmdDeWs5ZuP4tn1nMRPqvRutIPBzrf_EzURzumQSBy2few4L1d5Jx5tPJTQB5utpbZ3B5Q4fPE3/s1600/Java_Sun-50x50.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp9okbR_3JzwVPHJZ4Wfj0LxyblhismJKz358oJZWOrDUd0MOYc3hLTR72g-tuahwCzrmdDeWs5ZuP4tn1nMRPqvRutIPBzrf_EzURzumQSBy2few4L1d5Jx5tPJTQB5utpbZ3B5Q4fPE3/s1600/Java_Sun-50x50.jpg" /></span></a><span class="apple-style-span"><span lang="EN-US" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><br />
</span></span><br />
<span class="apple-style-span"><span lang="EN-US" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;">Enjoy your life and have a nice day.Stay tune to read the next article. </span></span><br />
<span class="apple-style-span"><span lang="EN-US" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"></span></span><br />
<div class="MsoNormal" style="text-align: justify;">
<div style="text-align: center;">
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><span class="apple-style-span"><span lang="EN-US"><span lang="EN-US"><b> </b></span></span></span><b>© Nuwan Arambage-"transcending verge of life"</b></span></div>
</div>
</div>
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><br />
</span><br />
<br /></div>
</div>Nuwan Arambagehttp://www.blogger.com/profile/14542750830276257387noreply@blogger.com0tag:blogger.com,1999:blog-4275211226932524630.post-28820720708700771602010-12-14T08:26:00.000-08:002011-04-11T01:12:16.495-07:00Beautiful Words In English Language<link href="file:///C:%5CDOCUME%7E1%5CNARAMB%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml" rel="File-List"></link><link href="file:///C:%5CDOCUME%7E1%5CNARAMB%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx" rel="themeData"></link><link href="file:///C:%5CDOCUME%7E1%5CNARAMB%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml" rel="colorSchemeMapping"></link><style>
<!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;
mso-font-charset:0;
mso-generic-font-family:roman;
mso-font-pitch:variable;
mso-font-signature:-1610611985 1107304683 0 0 159 0;}
@font-face
{font-family:"Iskoola Pota";
panose-1:2 1 5 3 1 1 1 1 1 4;
mso-font-charset:0;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 0 512 0 1 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;
mso-font-charset:0;
mso-generic-font-family:swiss;
mso-font-pitch:variable;
mso-font-signature:-1610611985 1073750139 0 0 159 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-parent:"";
margin-top:0in;
margin-right:0in;
margin-bottom:10.0pt;
margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Iskoola Pota";
mso-bidi-theme-font:minor-bidi;
mso-bidi-language:AR-SA;}
.MsoChpDefault
{mso-style-type:export-only;
mso-default-props:yes;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Iskoola Pota";
mso-bidi-theme-font:minor-bidi;
mso-bidi-language:AR-SA;}
.MsoPapDefault
{mso-style-type:export-only;
margin-bottom:10.0pt;
line-height:115%;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;
mso-header-margin:.5in;
mso-footer-margin:.5in;
mso-paper-source:0;}
div.WordSection1
{page:WordSection1;}
-->
</style> <br />
<div class="MsoNormal" style="text-align: justify;"><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif; font-size: small;">As human, language is the fundamental way of communicating with others. Let me ask you this question. When did you learn your mother tongue? The answer might depend, someone would say, I remembered when I was a child I learn words from my mom or else most probably you never remember it. Frankly, I wouldn’t know how I learn language but for sure, when I grow up, I feel I’m getting fluent about it. Every language is unique; language has the power of expressing out feeling, emotions. Take a moment and think of what if there is no language, no way to pull out what you feel. We are lucky enough to have a way of communication. Another question, don’t you feel the limit of the language. Probably you never feel it if you are not a good reader or philosophy addict. This was found form the internet now I post it since I love share these things with you.”Most Beautiful Words In English Language”. You might feel some words are not as smart as it seems. Indeed it must have power.Our human civilization is moving forward because of the language</span><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;">.</span><br />
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><br />
</span><br />
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">This is the first series that is form 'A' to 'C'</span><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;">.</span><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMCEMbdrEbcDO-j0bPXhtOans2CZtL1B4nv9oDiFZ7be356kR-tqdlgLWkbYy4yH4iEzzOlBANZjcHwnCNlF1dk3U_HYfxzX01bh57wpOT3_mda-Zeu1a0R6N_GgzmZ6Hv5fE6-kmov0YV/s1600/aqua.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="190" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMCEMbdrEbcDO-j0bPXhtOans2CZtL1B4nv9oDiFZ7be356kR-tqdlgLWkbYy4yH4iEzzOlBANZjcHwnCNlF1dk3U_HYfxzX01bh57wpOT3_mda-Zeu1a0R6N_GgzmZ6Hv5fE6-kmov0YV/s200/aqua.jpg" width="200" /></a></div><br />
<br />
<br />
<br />
<br />
<b><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;">Aqua</span></b><br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK00BwQW16YO1DZCTJqgG2FEY61sjt4qETjOgrA3EdX-bjo9Qy8CztjiGf4FHKuYQRXkPttMPouuUIeWeHiZK20DuumjKlb8StMxhChyphenhyphenp2_cegFRsSI-3DvaAEmwClaRA52yuB1lPCK0ao/s1600/Banana.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="153" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK00BwQW16YO1DZCTJqgG2FEY61sjt4qETjOgrA3EdX-bjo9Qy8CztjiGf4FHKuYQRXkPttMPouuUIeWeHiZK20DuumjKlb8StMxhChyphenhyphenp2_cegFRsSI-3DvaAEmwClaRA52yuB1lPCK0ao/s200/Banana.jpg" width="200" /></a></div><br />
<br />
<br />
<b><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;">Banana</span></b><br />
<br />
<br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_78MKHihIn5DNQuRKe8ONrxi4saNpJYtSaCwwQPaIH-dnMxAHb2y5TwR9ZdIRXtGadxlpo1uN1EA7vN52hNGbF3M_kwTH8WEUhwRQDDlIAq1A7WJRmIqjmabUyvfRZhxSUkvVV-PMhFSe/s1600/bliss.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="191" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_78MKHihIn5DNQuRKe8ONrxi4saNpJYtSaCwwQPaIH-dnMxAHb2y5TwR9ZdIRXtGadxlpo1uN1EA7vN52hNGbF3M_kwTH8WEUhwRQDDlIAq1A7WJRmIqjmabUyvfRZhxSUkvVV-PMhFSe/s200/bliss.jpg" width="200" /></a></div><br />
<br />
<br />
<br />
<br />
<b><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;">Bliss</span></b><br />
<br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnB3v9oJqDON4gqVfLz_XOCczHl6FRtaTcFSIQutSXYg6Ur0BGAHahb_w5S3X6WGeQrPpRSPZYd44fXSKOEnAAyCV1B4eYYD-Ov4fZTnOTjSO3jD3GYQAzsTCVL5TNtQMMzIsNH0inwe7s/s1600/blossom.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="153" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnB3v9oJqDON4gqVfLz_XOCczHl6FRtaTcFSIQutSXYg6Ur0BGAHahb_w5S3X6WGeQrPpRSPZYd44fXSKOEnAAyCV1B4eYYD-Ov4fZTnOTjSO3jD3GYQAzsTCVL5TNtQMMzIsNH0inwe7s/s200/blossom.jpg" width="200" /></a></div><br />
<br />
<br />
<br />
<b><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;">Blossom</span></b><br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQqOARVrLywmAOtEbja1TBcryvxB7VfR9z3WrN9PFPdpdueaH9AUS0tvjpn_NH4W71J5JxW_CjsH0wL-YOb9RcSsnOpcj7277P14PAGjWcC0xoeB_ZF_naezQzhuADWPvOFupemF6Seba3/s1600/blue.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="157" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQqOARVrLywmAOtEbja1TBcryvxB7VfR9z3WrN9PFPdpdueaH9AUS0tvjpn_NH4W71J5JxW_CjsH0wL-YOb9RcSsnOpcj7277P14PAGjWcC0xoeB_ZF_naezQzhuADWPvOFupemF6Seba3/s200/blue.jpg" width="200" /></a></div><br />
<br />
<br />
<br />
<b><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;">Blue</span></b><br />
<br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJ4yACH_x8Dn_7wL6zCzIHidLbBctj2Rbr0YeM3r0uo0hgbj7RVJ8pKFtFbkVQ4FmpTMRCyOm8sag5Pe5504CiZMxc_zPZ8XIXgKIFJAbbeYJschx4oKrmDGiInDRsMbZbLweI9fiSgJY/s1600/Bubble.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="184" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJ4yACH_x8Dn_7wL6zCzIHidLbBctj2Rbr0YeM3r0uo0hgbj7RVJ8pKFtFbkVQ4FmpTMRCyOm8sag5Pe5504CiZMxc_zPZ8XIXgKIFJAbbeYJschx4oKrmDGiInDRsMbZbLweI9fiSgJY/s200/Bubble.jpg" width="200" /></a></div><br />
<br />
<br />
<br />
<br />
<b><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;">Bubble</span></b><br />
<br />
<br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIdew3cmSSh_EawhPFjstS6zx9Nz-HVe7lIYOt8hyphenhyphen8cZNyaGLX1emDmB5ZQK67tL2tWjbX6YJxDCfPGwhbGED3NC6UADjeHKNxjjZOkD37MaykJ0CrEux_Q7Dw9uKVJzSOvz_RPdfB0L_S/s1600/Bumblebee.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="165" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIdew3cmSSh_EawhPFjstS6zx9Nz-HVe7lIYOt8hyphenhyphen8cZNyaGLX1emDmB5ZQK67tL2tWjbX6YJxDCfPGwhbGED3NC6UADjeHKNxjjZOkD37MaykJ0CrEux_Q7Dw9uKVJzSOvz_RPdfB0L_S/s200/Bumblebee.jpg" width="200" /></a></div><br />
<br />
<br />
<br />
<b><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;">Bumblebee</span></b><br />
<br />
<br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifRLy-1MYhn3zrNf0busciqhf3QPa9WDsdpLM3mZ7glaRn20c2EEOxtXIKoXTSSx0Z1hjN3PMHOMWMjjaMyvJUlE2Uy5L_a9v7cdtSmocc_TAu56lLfmCBAo9ACCI1DLPJiMrygax7J6vA/s1600/butterfly.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="186" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifRLy-1MYhn3zrNf0busciqhf3QPa9WDsdpLM3mZ7glaRn20c2EEOxtXIKoXTSSx0Z1hjN3PMHOMWMjjaMyvJUlE2Uy5L_a9v7cdtSmocc_TAu56lLfmCBAo9ACCI1DLPJiMrygax7J6vA/s200/butterfly.jpg" width="200" /></a></div><br />
<br />
<br />
<br />
<br />
<b><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;">Butterfly</span></b><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiJfg6J-twXxWkGUGW-qMFWp0q3wKW5kVHLqrt7d1ZgIRXsNRcPXfa9s4e36BkF-AYpNHD5IiOCENd8WsbCqUOGiXRSGbWC23vO3-gt5IIAifwx8-1x-f-n0rVYgz_MK90l4QjcE37ezj4/s1600/cherish.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="178" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiJfg6J-twXxWkGUGW-qMFWp0q3wKW5kVHLqrt7d1ZgIRXsNRcPXfa9s4e36BkF-AYpNHD5IiOCENd8WsbCqUOGiXRSGbWC23vO3-gt5IIAifwx8-1x-f-n0rVYgz_MK90l4QjcE37ezj4/s200/cherish.jpg" width="200" /></a></div><br />
<br />
<br />
<br />
<br />
<b><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;">Cherish</span></b><br />
<br />
<br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL1RZIiY6EqYX_thn_jawMb6SFcCIA9rRz3WKXQLrlb5XvW48l85OM1-T13NL4gS2tq15_iMy7-47DEVHbgB11b_fP_p7KVcs9NRmwgwmRkUvwa0RaTnthgafu7nIsEFn8ByDSmwnqwRfQ/s1600/Cosmopolitan.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="185" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL1RZIiY6EqYX_thn_jawMb6SFcCIA9rRz3WKXQLrlb5XvW48l85OM1-T13NL4gS2tq15_iMy7-47DEVHbgB11b_fP_p7KVcs9NRmwgwmRkUvwa0RaTnthgafu7nIsEFn8ByDSmwnqwRfQ/s200/Cosmopolitan.jpg" width="200" /></a></div><br />
<br />
<br />
<br />
<br />
<b><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;">Cosmopolitan</span></b><br />
<br />
<br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg4fUPfppjI6Im2PIP05ALUZv1D2kNmiMMZk_132ShsvDWShyphenhyphenJ5WGZRgh4PopfhjwgGp55QkdOrk1r89VaVpPTnc2S12NVwDCSMGx4tj4DOKOaiIr3LvGsQ4GdqgaGrhK2b6mdpPRDeYlt/s1600/cosy.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="133" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg4fUPfppjI6Im2PIP05ALUZv1D2kNmiMMZk_132ShsvDWShyphenhyphenJ5WGZRgh4PopfhjwgGp55QkdOrk1r89VaVpPTnc2S12NVwDCSMGx4tj4DOKOaiIr3LvGsQ4GdqgaGrhK2b6mdpPRDeYlt/s200/cosy.jpg" width="200" /></a></div><br />
<br />
<br />
<b><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;">Cosy </span></b><br />
<br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRUs6YGvPXFc3lhaZYaoiICmEgxHU-jfI8qQN3KJP9-llC4ROd7AGu8xgTffyOKZrYAR-1LnJftVcGOdEP-vIpj5FyaPFtOC3zJU5J_WqeVq6idlS06EGKbLK-b_VqL75fz4Nwv1bBPiMa/s1600/cute.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="171" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRUs6YGvPXFc3lhaZYaoiICmEgxHU-jfI8qQN3KJP9-llC4ROd7AGu8xgTffyOKZrYAR-1LnJftVcGOdEP-vIpj5FyaPFtOC3zJU5J_WqeVq6idlS06EGKbLK-b_VqL75fz4Nwv1bBPiMa/s200/cute.jpg" width="200" /></a></div><br />
<br />
<br />
<br />
<b> <span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;">Cute</span></b><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif; font-size: small;">A lot more to go....</span><br />
<span class="Apple-style-span" style="color: #444444;"><br />
</span><br />
<div style="text-align: center;"><span class="Apple-style-span" style="color: #444444;"><span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small; line-height: normal;"><b><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"> </span></b></span><span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small; line-height: normal;"><b><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;">© Nuwan Arambage-"transcending verge of life"</span></b></span></span></div><div class="separator" style="clear: both; text-align: center;"></div></div>Nuwan Arambagehttp://www.blogger.com/profile/14542750830276257387noreply@blogger.com0tag:blogger.com,1999:blog-4275211226932524630.post-89547745539787998502010-12-14T04:28:00.001-08:002011-05-29T23:00:53.833-07:00Hello World<div class="MsoNormal" style="text-align: justify;"><div class="separator" style="clear: both; text-align: center;"><a href="http://newmediathinking.com/page-images/helloWorld-hold.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span class="Apple-style-span" style="color: #444444;"><img border="0" height="240" src="http://newmediathinking.com/page-images/helloWorld-hold.jpg" width="320" /></span></a></div><span class="Apple-style-span" style="color: #444444;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span" style="color: #666666;">Change is inevitable. Now you are living in the world where it is not same as yesterday. Innovation is not a miracle; it happen every nook and comer of the world. Technology evolves; we embrace it being to comfort our lives. We are born to change, adapting to the environment we are living is a must unless we won’t be able to survive in the modern culture. Writing a blog is a part of our modern culture. It might be your business promotion, day to day thoughts, your products, or experiences. And one more thing to be noted is blog is the place to share your ideas with the community who involving with it. Everyone has their chance to be blogger. I’m going take an opportunity to be a blogger thus it facinates me. It would be my space to write everything happens way up and down in my life. I would believe it might be a better way to start rather than giving a typical monotonous self introduction within first two sentences.</span></span></div><div class="MsoNormal" style="text-align: justify;"><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;"><br />
</span></div><div class="MsoNormal" style="text-align: justify;"><span class="Apple-style-span" style="color: #666666; font-family: Georgia, 'Times New Roman', serif;">At high level,I would like to introduce myself as a human living on the earth surface and being a member of the civilized human society. Abiding by the law, I’m a Sri Lankan citizen. It is what my passport says to me. I was born and raised with middle class values. My home town is 11 miles away from Galle, the capital of down south. Still I love that place where I see the first sight of the world. I have done my secondary education at Mahinda Collage Galle, best of among in down south. Same as you, I know that I had a dream in childhood, the person I want to be when I grow up. I never ever thought of being a software engineer. However eventually, I became a software engineer and now I love what I’m supposed to do in my job. I’m satisfied with what I have done in my life up to now. In conclusion I need to share one of my favorite quotes which I always love to hear.</span><br />
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"> <b>“Life is not waiting for storm to pass, life is to learn how to dance in the rain”</b></span><br />
<span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"><b></b></span><b><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"> © Nuwan Arambage-"transcending verge of life"</span></b><br />
<div style="text-align: left;"><b><span class="Apple-style-span" style="color: #444444; font-family: Georgia, 'Times New Roman', serif;"> </span></b></div></div>Nuwan Arambagehttp://www.blogger.com/profile/14542750830276257387noreply@blogger.com0