Understanding Application Sever Runtimes in Java environment...

Posted by U.S. Wickramasighe | Posted on Sunday, October 03, 2010

Lot of Application servers or containers deploy different mechanisms for runtime loading of classes and libraries...Understanding these mechanics is really important for resolving conflicts in Enterprise Applications and Runtime environments (ie:-J2EE envs , OSGi containers running on top of App servers ,etc)...Most of the modern Application containers deploy a method called "Bootstrapping" to isolate container specific and application specific runtime dependencies..What "Bootstrapping" effectively does is provide an "unpolluted" classpath for application modules so that they can work independently from container classpath , avoiding any conflicts which other wise would have occurred..(conflicts in the sense unresolved Classes, Class Cast exceptions ,unexpected initialization of code ie:- static initializers , etc )...This means that with "Bootsrapping" an application module can run a different version of a dependent library/class from a version that container depends on without affecting each other...To understand "Bootsrapping" one needs to have a good overall view on java class loading mechanisms..I came across the following article that nicely explains these concepts with several practical runtime deployment perspectives.. http://www.theserverside.com/news/1364680/Understanding-J2EE-Application-Server-ClassLoading-Architectures .. hope this would be useful for those who are interested.....

Disabling touch pad in Ubuntu 10.04

Posted by U.S. Wickramasighe | Posted in | Posted on Friday, October 01, 2010

i found it very annoying to use a touchpad in Ubuntu specially when typing...To add to the trouble my laptop does not have a manual turnoff switch for touchpads.....i came across the following post which describes how to disable Synaptic touchpad with a GUI interface..

If you are too lazy to remember and run 'gpointing-device-settings' in terminal , add command into the Applications submenu by --> (right click) Applications --> Edit Menus --> New Item


Update :------------------------------------------------------------------------------------ although at first 'gpointing-device-settings' looked great , it had certain limitations(ie:- timeouts can't be set,configuration issues)..therefore i had to go for a more crude method..
use 'xinput' to find device id for your touch pad..
$xinput list
mine was 13 (ie:-AlpsPS/2 ALPS GlidePoint id=13 [slave pointer (2)). I used this id to disable touchpad using
$xinput set-prop 13 --type=int --format=8 "Device Enabled" 0

Use System --> Preferences --> Startup Applications to add a startup script if you want to disable your touchpad from start :)