<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5820086602350772821</id><updated>2011-08-13T22:57:02.899+05:30</updated><category term='Cloud Comptuing'/><category term='hibernate'/><category term='tools'/><category term='parent-child relationship'/><category term='CSS'/><category term='java'/><category term='Axis'/><category term='Language'/><category term='Web Services'/><category term='Weblogic'/><category term='XML'/><category term='Apache'/><category term='agile software development'/><category term='Generics'/><category term='JSON'/><title type='text'>Tempting Technical Tempest</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://techasilo.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://techasilo.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Bhargavi</name><uri>http://www.blogger.com/profile/09720993553910388903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5820086602350772821.post-2406393564433825295</id><published>2010-07-04T21:50:00.003+05:30</published><updated>2010-07-04T21:57:03.055+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><title type='text'>mod_jk Vs mod_proxy_http Vs mod_proxy_ajp</title><content type='html'>It has always been confusing for me to understand the differences between - mod_jk Vs mod_proxy_http Vs mod_proxy_ajp.&lt;br /&gt;&lt;br /&gt;The best link I have ever read that gives a summary on when to use what - http://www.tomcatexpert.com/blog/2010/06/16/deciding-between-modjk-modproxyhttp-and-modproxyajp&lt;br /&gt;&lt;br /&gt;NJoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5820086602350772821-2406393564433825295?l=techasilo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techasilo.blogspot.com/feeds/2406393564433825295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5820086602350772821&amp;postID=2406393564433825295' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/2406393564433825295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/2406393564433825295'/><link rel='alternate' type='text/html' href='http://techasilo.blogspot.com/2010/07/modjk-vs-modproxyhttp-vs-modproxyajp.html' title='mod_jk Vs mod_proxy_http Vs mod_proxy_ajp'/><author><name>Bhargavi</name><uri>http://www.blogger.com/profile/09720993553910388903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5820086602350772821.post-3636521883860464751</id><published>2009-03-19T13:20:00.002+05:30</published><updated>2009-03-19T13:25:44.808+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='parent-child relationship'/><title type='text'>Parent Child Relationship - Hibernate</title><content type='html'>&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;Parent Child Relationship - Hibernate&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;Inserting values in both parent and child table in Hibernate in a single session.save() command. You need not insert value in the parent table first and then get the ID and set it in the child and then insert it. You can do both at the same time. Below are the sample code snippets of the files used.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;hbm.xml file:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;pre&gt;&lt;span style="font-size:85%;"&gt;&amp;lt;class name="com.sample.pojos.UserInfoBean" table="USER_INFO" lazy="false"&amp;gt;&lt;br /&gt;&lt;br /&gt;  ... other properties configured&lt;br /&gt;&amp;lt;property name="firstName" type="java.lang.String" column="FIRST_NAME" /&amp;gt;&lt;br /&gt;&amp;lt;property name="lastName" type="java.lang.String" column="LAST_NAME" /&amp;gt;&lt;br /&gt;  &amp;lt;bag cascade="all-delete-orphan" inverse="true" lazy="true" name="userDetailsBean" table="USER_DETAILS"&amp;gt;&lt;br /&gt;      &amp;lt;key column="USER_INFO_ID"/&amp;gt;&lt;br /&gt;      &amp;lt;one-to-many class="com.sample.pojos.UserDetailsBean"/&amp;gt;&lt;br /&gt;  &amp;lt;/bag&amp;gt;&lt;br /&gt;&amp;lt;/class&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;class name="com.sample.pojos.UserDetailsBean" table="USER_DETAILS" lazy="false"&amp;gt;&lt;br /&gt;&lt;br /&gt;  ... other properties configured&lt;br /&gt;&amp;lt;property name="address" type="java.lang.String" column="ADDRESS" /&amp;gt;&lt;br /&gt;&amp;lt;property name="city" type="java.lang.String" column="CITY" /&amp;gt;&lt;br /&gt;  &amp;lt;many-to-one cascade="none" class="com.sample.pojos.UserInfoBean" column="USER_INFO_ID" insert="true" name="userInfoBean" outer-join="false" update="true"/&amp;gt;&lt;br /&gt;&amp;lt;/class&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;UserInfoBean.java&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt; &lt;pre&gt;&lt;span style="font-size:85%;"&gt;private List userDetailsBean;&lt;br /&gt;&lt;br /&gt;... other properties&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @return Returns the userDetailsBean.&lt;br /&gt;*/&lt;br /&gt;public List getUserDetailsBean() {&lt;br /&gt;  return userDetailsBean;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @param userDetailsBean The userDetailsBean to set.&lt;br /&gt;*/&lt;br /&gt;public void setUserDetailsBean(List userDetailsBean) {&lt;br /&gt;  this.userDetailsBean = userDetailsBean;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;... getters and setters for other properties&lt;br /&gt;[/sourcecode]&lt;/span&gt;&lt;/pre&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;UserDetailsBean.java&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;pre&gt;&lt;span style="font-size:85%;"&gt;[sourcecode language='java']&lt;br /&gt;private UserInfoBean userInfoBean;&lt;br /&gt;&lt;br /&gt;... other properties&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @return Returns the userInfoBean.&lt;br /&gt;*/&lt;br /&gt;public UserInfoBean getUserInfoBean() {&lt;br /&gt;  return userInfoBean;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @param userInfoBean The userInfoBean to set.&lt;br /&gt;*/&lt;br /&gt;public void setUserInfoBean(UserInfoBean userInfoBean) {&lt;br /&gt;  this.userInfoBean = userInfoBean;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;... getters and setters for other properties&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;Business class:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt; &lt;pre&gt;&lt;span style="font-size:85%;"&gt;Transaction transaction = null;&lt;br /&gt;&lt;br /&gt;UserInfoBean userInfoBean = new UserInfoBean();&lt;br /&gt;&lt;br /&gt;... set the required properties&lt;br /&gt;&lt;br /&gt;UserDetailsBean userDetailsBean = new UserDetailsBean();&lt;br /&gt;&lt;br /&gt;... set the required properties&lt;br /&gt;&lt;br /&gt;// Setting the parent class in the child class&lt;br /&gt;userDetailsBean.setUserInfoBean(userInfoBean);&lt;br /&gt;&lt;br /&gt;// List for storing the User Details Beans&lt;br /&gt;List userDetailsList = new ArrayList();&lt;br /&gt;&lt;br /&gt;// Adding the UserDetailsBean to the list&lt;br /&gt;userDetailsList.add(userDetailsBean);&lt;br /&gt;&lt;br /&gt;// Setting the list in the UserInfoBean&lt;br /&gt;userInfoBean.setUserDetailsBean(userDetailsList);&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;  Session session = SessionManager.currentSession();        &lt;br /&gt;  transaction = session.beginTransaction();        &lt;br /&gt;  session.save(userInfoBean);        &lt;br /&gt;  session.flush();&lt;br /&gt;  session.clear();&lt;br /&gt;  transaction.commit();&lt;br /&gt;  createUserStatus = true;&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;  transaction.rollback();&lt;br /&gt;} finally {&lt;br /&gt;  SessionManager.closeSession();&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;Now in a single session.save() command, values gets inserted in both the parent and child table.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;Hope this helps.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5820086602350772821-3636521883860464751?l=techasilo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techasilo.blogspot.com/feeds/3636521883860464751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5820086602350772821&amp;postID=3636521883860464751' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/3636521883860464751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/3636521883860464751'/><link rel='alternate' type='text/html' href='http://techasilo.blogspot.com/2009/03/parent-child-relationship-hibernate.html' title='Parent Child Relationship - Hibernate'/><author><name>Anand Iyer</name><uri>http://www.blogger.com/profile/09045795564078672608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5820086602350772821.post-2228458650855180947</id><published>2009-01-26T20:42:00.001+05:30</published><updated>2009-01-26T20:46:29.705+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cloud Comptuing'/><title type='text'>Cloud Computing In Plain English</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/QJncFirhjPg&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/QJncFirhjPg&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5820086602350772821-2228458650855180947?l=techasilo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techasilo.blogspot.com/feeds/2228458650855180947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5820086602350772821&amp;postID=2228458650855180947' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/2228458650855180947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/2228458650855180947'/><link rel='alternate' type='text/html' href='http://techasilo.blogspot.com/2009/01/cloud-computing-in-plain-english.html' title='Cloud Computing In Plain English'/><author><name>Subbu</name><uri>http://www.blogger.com/profile/16485277853078094869</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kmZUx1MmRH0/SX3RUzGdvpI/AAAAAAAAB7M/qTrhEf6WF50/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5820086602350772821.post-4074367986092163917</id><published>2008-12-31T11:38:00.006+05:30</published><updated>2009-01-02T12:43:45.060+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='agile software development'/><title type='text'>Continuous Build Integration</title><content type='html'>In the &lt;a href="http://en.wikipedia.org/wiki/Agile_software_development"&gt;Agile Software Development&lt;/a&gt; practice we would need to build and test the application frequently. For example we might need to build many times in a day. We could automate this process and have a cron job that builds and generates reports for the development team to consume.&lt;br /&gt;&lt;div&gt;There are tools that help us in this process of building and testing the application at frequent pre-defined intervals, such as Cruisecontrol, Hudson, Bamboo etc., Refer to this &lt;a href="http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix"&gt;link&lt;/a&gt; for the feature matrix comparison of these Continuous Integration Tools.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As an example we shall look at &lt;a href="http://cruisecontrol.sourceforge.net/"&gt;Cruisecontrol &lt;/a&gt;which is a Java based, open source CI tool - released with BSD style licence.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" font-weight: bold; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;How CruiseControl works&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;ul&gt;  &lt;li&gt;&lt;p style="margin-top: 0.19in; margin-bottom: 0in"&gt;Developer  checks work into version control&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in"&gt;CC polls version control&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in"&gt;CC triggers a build&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in"&gt;CC captures logs and build  artifacts   &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;p style="margin-bottom: 0in"&gt;Examples: jar, war, javadoc, unit   test report, code coverage report, code quality metrics&lt;/p&gt;  &lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in"&gt;CC publishes results   &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;p style="margin-bottom: 0.19in"&gt;Examples: send email, send   instant message&lt;/p&gt;  &lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;/ul&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We have a config.xml file through which we could configure the tool.&lt;/div&gt;&lt;div&gt;We would specify the version control information(such as CVS host and credentials), the project details, the scheduling information(such as when to build the app), where to log the builds and save the artifacts and whom to inform when the build completes etc., in this config file.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Since plugins are available for cruisecontrol there is a lot of options that we can configure in this config.xml file.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here's a sample config.xml file:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-monospace; font-size: 13px; white-space: pre; "&gt;&amp;lt;cruisecontrol&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre&gt;  &amp;lt;project name="connectfour"&amp;gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;listeners&amp;gt;&lt;br /&gt;         &amp;lt;currentbuildstatuslistener file="logs/${project.name}/status.txt"/&amp;gt;&lt;br /&gt;     &amp;lt;/listeners&amp;gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;bootstrappers&amp;gt;&lt;br /&gt;         &amp;lt;svnbootstrapper localWorkingCopy="projects/${project.name}" /&amp;gt;&lt;br /&gt;     &amp;lt;/bootstrappers&amp;gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;modificationset quietperiod="30"&amp;gt;&lt;br /&gt;         &amp;lt;svn localWorkingCopy="projects/${project.name}"/&amp;gt;&lt;br /&gt;     &amp;lt;/modificationset&amp;gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;schedule interval="300"&amp;gt;&lt;br /&gt;         &amp;lt;ant anthome="apache-ant-1.7.0" buildfile="projects/${project.name}/build.xml"/&amp;gt;&lt;br /&gt;     &amp;lt;/schedule&amp;gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;log&amp;gt;&lt;br /&gt;         &amp;lt;merge dir="projects/${project.name}/target/test-results"/&amp;gt;&lt;br /&gt;     &amp;lt;/log&amp;gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;publishers&amp;gt;&lt;br /&gt;         &amp;lt;onsuccess&amp;gt;&lt;br /&gt;             &amp;lt;artifactspublisher dest="artifacts/${project.name}" file="projects/${project.name}/target/${project.name}.jar"/&amp;gt;&lt;br /&gt;         &amp;lt;/onsuccess&amp;gt;&lt;br /&gt;     &amp;lt;/publishers&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;/project&amp;gt;&lt;br /&gt;&amp;lt;/cruisecontrol&amp;gt;&lt;br /&gt;&lt;/pre&gt;There is a cruisecontrol dashboard through which we can access the history of artifacts and build results and manage those.&lt;div&gt;&lt;a href="http://cclive.thoughtworks.com/dashboard/dashboard"&gt;Here&lt;/a&gt; is a sample Dashboard of cruisecontrol.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5820086602350772821-4074367986092163917?l=techasilo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techasilo.blogspot.com/feeds/4074367986092163917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5820086602350772821&amp;postID=4074367986092163917' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/4074367986092163917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/4074367986092163917'/><link rel='alternate' type='text/html' href='http://techasilo.blogspot.com/2008/12/continuous-build-integration.html' title='Continuous Build Integration'/><author><name>Subbu</name><uri>http://www.blogger.com/profile/16485277853078094869</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kmZUx1MmRH0/SX3RUzGdvpI/AAAAAAAAB7M/qTrhEf6WF50/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5820086602350772821.post-8857290448097411366</id><published>2008-11-10T21:29:00.003+05:30</published><updated>2008-11-10T22:22:38.134+05:30</updated><title type='text'>CSS and JS compression</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;A web project has lots CSS and JS files associated with it and lots of these files does affect the page load time based on the internet speed, its size etc.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;It would be a wise option to compress the CSS and JS files to make download of these on the fly much faster.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;1) GZIP compression&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;2) Remove unwanted space, line feed characters in JS.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;3) Use smaller variable names&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;4) Remove comments&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;For (1) - Most of the application servers come with option of enabling compression for HTTP and HTTPS. For example in Tomcat you can do it by setting in the server.xml&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;pre  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:85%;"&gt;...&lt;br /&gt;&amp;lt;connector acceptcount="100" connectiontimeout="60000" disableuploadtimeout="true"&lt;br /&gt;port="9014" redirectport="8944" scheme="https" proxyport="443" compression="on"&lt;br /&gt;compressablemimetype="text/html,text/xml,text/plain,text/css,text/javascript"&gt;&lt;br /&gt;...&lt;br /&gt;&lt;connector acceptcount="100" connectiontimeout="60000" disableuploadtimeout="true" port="9014" redirectport="8944" scheme="https" proxyport="443" compression="on" compressablemimetype="text/html,text/xml,text/plain,text/css,text/javascript"&gt;&lt;/connector&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Having 2, 3 and 4 done on the code base will make it ugly and not readable. There are lots of open source tool which can help as they does all these during build time when creating the achieves.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;For example one such tool would be Yahoo UI compressor - it has a easy maven plugin as well - &lt;/span&gt;&lt;a style="font-family: trebuchet ms;" href="http://alchim.sourceforge.net/yuicompressor-maven-plugin/index.html"&gt;click here&lt;/a&gt;&lt;span style="font-family:trebuchet ms;"&gt; for more details on usage.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5820086602350772821-8857290448097411366?l=techasilo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techasilo.blogspot.com/feeds/8857290448097411366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5820086602350772821&amp;postID=8857290448097411366' title='181 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/8857290448097411366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/8857290448097411366'/><link rel='alternate' type='text/html' href='http://techasilo.blogspot.com/2008/11/css-and-js-compression.html' title='CSS and JS compression'/><author><name>Bhargavi</name><uri>http://www.blogger.com/profile/09720993553910388903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>181</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5820086602350772821.post-7700109200532558006</id><published>2007-05-10T10:26:00.000+05:30</published><updated>2007-05-10T10:38:52.106+05:30</updated><title type='text'>Including HTML Tags/codes in Blog Post</title><content type='html'>This post is the outcome of my previous post. In my previous post,I had to include some HTML codes as an example, it contained Scripts, CSS and some Body code. I did that in a normal way, but Blogger Engine took that as HTML codes and dsiplayed the corresponding result as a browser does. I was thinking what to do for this, I tried commenting that part of the code, but it didnt work well.Finally we got a solution, instead of "&lt;" open tag we shoudl use "amplt;" and instead of close tag "&gt;" we should use "ampgt;". This works out well. &lt;br /&gt;NOTE: Instead of "amp" use the "&amp;" symbol, i have given " amp "here for reperesentation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5820086602350772821-7700109200532558006?l=techasilo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techasilo.blogspot.com/feeds/7700109200532558006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5820086602350772821&amp;postID=7700109200532558006' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/7700109200532558006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/7700109200532558006'/><link rel='alternate' type='text/html' href='http://techasilo.blogspot.com/2007/05/including-html-tagscodes-in-blog-post.html' title='Including HTML Tags/codes in Blog Post'/><author><name>Bala</name><uri>http://www.blogger.com/profile/01811829695894708630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://balaarjunan.files.wordpress.com/2007/04/balaarjunan.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5820086602350772821.post-793318183176377913</id><published>2007-05-10T09:56:00.000+05:30</published><updated>2007-05-10T10:21:11.276+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><title type='text'>Applying Styles for File Button</title><content type='html'>Everyone who works in the front end will be aware of the input type=”file” , the function of this button is that, it will fetch you the file browser, so that you can chose the file for your Upload. Unfortunately, you can have images for these buttons, unlike we have for other Submit kind of buttons. So what can be done for this? There are two solutions,&lt;br /&gt;&lt;br /&gt;1.You can find out the code behind of this File button and can implement that procedure in Onclick of this image button.&lt;br /&gt;2.You can have an image Button over a File Button and you can invoke the Click event of the File button from the onclick event of this image buttton. For this you have to play with the z-index property.&lt;br /&gt;&lt;br /&gt;we will have a look at the second method, as the first one is very simple.&lt;br /&gt;&lt;br /&gt;How to do this?&lt;br /&gt;Change the z-index of the File Button, make it as negative(or a lesser value than image button). I have included the code here, check it out here&lt;br /&gt;&lt;br /&gt;&amp;lt;script type=”text/javascript”&amp;gt;&lt;br /&gt;function clickBrowse()&lt;br /&gt;{&lt;br /&gt;document.getElementById(’openssme’).click()&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;lt;&lt;br /&gt;&amp;lt;style type=”text/css”&amp;lt;&lt;br /&gt;input.hide&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;position:relative;&lt;br /&gt;left:-225px;&lt;br /&gt;z-index: -1;&lt;br /&gt;width:0px;&lt;br /&gt;border-width:0px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;input.red&lt;br /&gt;{&lt;br /&gt;position:relative;&lt;br /&gt;background-color:#cc0000;&lt;br /&gt;font-weight:bold;&lt;br /&gt;color:#ffffff;&lt;br /&gt;z-index:100;&lt;br /&gt;width:75px;&lt;br /&gt;height:20px;&lt;br /&gt;font-size:10px;&lt;br /&gt;}&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!–[if IE]&amp;gt;&lt;br /&gt;&amp;lt;style type=”text/css”&amp;gt;&lt;br /&gt;input.hide&lt;br /&gt;{&lt;br /&gt;position:relative;&lt;br /&gt;visibility:hidden;&lt;br /&gt;left:-83px;&lt;br /&gt;z-index: -1;&lt;br /&gt;width:0px;&lt;br /&gt;border-width:0px;&lt;br /&gt;}&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;![endif]–&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;img src=”btn_browse.gif” class=”red” id=”pseudobutton” onClick=”clickBrowse();” /&amp;gt;&lt;br /&gt;&amp;lt;input type=”file” class=”hide” id=”openssme”&amp;gt;&lt;br /&gt;&lt;br /&gt;We have to handle IE and FF seperately, so a code for IE is placed seperately in this.&lt;br /&gt;I thank Nirmal, for helping me out in this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5820086602350772821-793318183176377913?l=techasilo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techasilo.blogspot.com/feeds/793318183176377913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5820086602350772821&amp;postID=793318183176377913' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/793318183176377913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/793318183176377913'/><link rel='alternate' type='text/html' href='http://techasilo.blogspot.com/2007/05/applying-styles-for-file-button.html' title='Applying Styles for File Button'/><author><name>Bala</name><uri>http://www.blogger.com/profile/01811829695894708630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://balaarjunan.files.wordpress.com/2007/04/balaarjunan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5820086602350772821.post-7078551868544600700</id><published>2007-04-12T09:29:00.000+05:30</published><updated>2007-04-13T17:58:41.209+05:30</updated><title type='text'>Internet Explorer Hacks and Tips</title><content type='html'>&lt;p style="line-height: 14.65pt;"&gt;&lt;a name="111bfaf68744c45d_Odd"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Odd&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; Toolbar Behavior&lt;span style=""&gt;              &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Did you ever get your Toolbars in IE set just right only to reboot and you lose your settings? Many times when Toolbars are added or removed the Registry entry that controls these settings does not get updated or has become corrupt. You can download a small reg file to reset (to default) and correct this behavior. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul style="margin-top: 0in;" type="disc"&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Download:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;a href="http://www.mvps.org/winhelp2002/ResetBrowserToolbar.reg" target="_blank"&gt;&lt;span style="color: windowtext;"&gt;ResetBrowserToolbar .reg&lt;/span&gt;&lt;/a&gt;      [right-click and select: "Save Target As"&lt;br /&gt;     &lt;b&gt;To use:&lt;/b&gt; right-click and select: &lt;b&gt;Merge&lt;/b&gt; - Ok the prompt and      reboot. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Missing Status Bar&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;The above reg file will correct this behavior, if your status bar disappears when opening a new IE browser window. However make sure that option is selected - right-click the top Toolbar and select: Status Bar. If you are still having problems verify the below Registry entries exist and are correct: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;[HKEY_CURRENT_ USER\Software\ Microsoft\ Internet Explorer\Main]&lt;br /&gt;"Show_StatusBar"="yes"&lt;br /&gt;"Show_URLinStatusBar"="yes"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Opening Internet Explorer Full &lt;a name="111bfaf68744c45d_Size"&gt;Size&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Ever notice sometimes you right-click on a link and open a new window and it's not full screen? This usually occurs because IE remembers the last window size when closed. Many times a background pop-up will do this too, if it is the last window closed. To resize the window and regain control: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul style="margin-top: 0in;" type="disc"&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Close      all instances of Internet Explorer except for one. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Right-click      on a link in the page and select: "Open in New Window" &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Close      the first browser window using the [ X ] (upper right corner) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Resize      the window manually by dragging the sides to the desired size.&lt;br /&gt;     &lt;b&gt;Note&lt;/b&gt;: Do &lt;b&gt;NOT&lt;/b&gt; click the Maximize button, you &lt;b&gt;must&lt;/b&gt; do      it manually. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Hold      down the Ctrl key and click the Close button (upper right) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;[&lt;b&gt;Exception&lt;/b&gt;]&lt;br /&gt;In some cases the "Remember last window size" info becomes corrupted in the Registry.&lt;br /&gt;&lt;br /&gt;[HKEY_CURRENT_ USER\Software\ Microsoft\ Internet Explorer\Main]&lt;br /&gt;"Window_Placement"= &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;To reset the "Window_Placement" entry to default. You can download a small reg file to reset (to default) and correct this behavior.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Download&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;: &lt;a href="http://www.mvps.org/winhelp2002/ResetWindowPlacement.reg" target="_blank"&gt;&lt;span style="color: windowtext;"&gt;ResetWindowPlacemen t.reg&lt;/span&gt;&lt;/a&gt; [right-click and select: "Save Target As"]&lt;br /&gt;&lt;b&gt;To use&lt;/b&gt;: right-click and select: &lt;b&gt;Merge&lt;/b&gt; - Ok the prompt and reboot.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Gain more viewing space &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul style="margin-top: 0in;" type="disc"&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Right-click      the Toolbar and select: "&lt;b&gt;Unlock the Toolbars&lt;/b&gt;" &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Left-click      the Address Bar button, it changes to a four-way arrow &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Drag      the Address Bar into the empty space next to Help in the Toolbar &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Next,      right-click on any of the Icon Buttons, and uncheck Text Labels &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Also      you can select: &lt;strong&gt;&lt;span style="font-family: Verdana;"&gt;Small Icons&lt;/span&gt;&lt;/strong&gt;      from the Customize menu. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Then      right-click the Toolbar and select: "&lt;b&gt;Lock the Toolbars&lt;/b&gt;" &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;a name="111bfaf68744c45d_Resize"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Resize&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; your IE Cache size&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;By default IE reserves 10% of your drive space for the Temporary Internet Files. This was fine several years ago but since then the hard drive capacities have increased dramatically. If you happen to have one of these large disks the 10% is truly unnecessary and wasteful. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul style="margin-top: 0in;" type="disc"&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Close      all instances of Internet Explorer and Outlook Express &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Control      Panel | Internet Options | General tab &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Click      Settings and move the slider to &lt;b&gt;50 mb&lt;/b&gt;, click Ok &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Click      Delete Files and also select: "Delete all offline files", click      Ok &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Click      Clear History, click Ok, Apply\Ok   &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Note&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;: While viewing Newsgroup messages Outlook Express dumps a series of zero-byte files into the TIF. When Outlook Express is closed it fails to cleanup these files. To delete these zero-byte files you &lt;b&gt;must &lt;/b&gt;select the above option  "Delete all offline files".&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Spell Checker for Internet Explorer&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://www.iespell.com/" target="_blank"&gt;&lt;span style="color: windowtext;"&gt;ieSpell&lt;/span&gt;&lt;/a&gt; is a free Internet Explorer browser extension that spell checks text input boxes.&lt;br /&gt;&lt;b&gt;Editors Note&lt;/b&gt;: has an option to integrate the database from other spell checkers. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://www.mythicsoft.com/agentransack/" target="_blank"&gt;&lt;span style="color: windowtext;"&gt;Agent Ransack&lt;/span&gt;&lt;/a&gt; (freeware) File searching software&lt;br /&gt;This is &lt;b&gt;not&lt;/b&gt; a replacement to Microsoft's built-in Search Utility, it's just much faster! &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;a name="111bfaf68744c45d_Removing"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Removing&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; Unwanted IE Menu Items&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul style="margin-top: 0in;" type="disc"&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Scan      your system with Ad-Aware or SpyBot &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Run      HijackThis! and select the "&lt;b&gt;08/09&lt;/b&gt;" items you want      removed.   &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;To manually remove from the Registry&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; [Experienced Users]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;[HKEY_CURRENT_ USER\Software\ Microsoft\ Internet Explorer\MenuExt]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul style="margin-top: 0in;" type="disc"&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Click      open "&lt;b&gt;+MenuExt&lt;/b&gt;" (left pane) Locate the desired Menu      Extension (highlight)&lt;br /&gt;     Make a note of the corresponding (htm) file (right pane)&lt;br /&gt;     Right-click the desired key (Menu Extension) select: Delete&lt;br /&gt;     &lt;b&gt;Note:&lt;/b&gt; always Export before editing the Registry. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Close      Regedit, Open Windows Explorer&lt;br /&gt;     Locate and delete the "corresponding (htm) file" (if exists) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Repairing your Winsock Connection&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;If you have suddenly lost your Internet connection after removing a unwanted program (such as NewDotNet, and Commonname) the following steps will help restore your connection.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul style="margin-top: 0in;" type="disc"&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Repairs      Winsock 2 settings: &lt;a href="http://www.cexx.org/lspfix.htm" target="_blank"&gt;&lt;span style="color: windowtext;"&gt;http://www.cexx.      org/lspfix. htm &lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;WinsockFix.exe      (by: Option^Explicit) [&lt;a href="http://www.downloads.subratam.org/WinsockFix.zip" target="_blank"&gt;&lt;span style="color: windowtext;"&gt; site1&lt;/span&gt;&lt;/a&gt;] [&lt;a href="http://www.tacktech.com/pub/winsockfix/WinsockFix.zip" target="_blank"&gt;&lt;span style="color: windowtext;"&gt;site2&lt;/span&gt;&lt;/a&gt;] &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://support.microsoft.com/?kbid=299357" target="_blank"&gt;&lt;span style="color: windowtext;"&gt;How to Reset Internet Protocol (TCP/IP) in      Windows XP &lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Fast Printing web pages without images&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul style="margin-top: 0in;" type="disc"&gt;&lt;li class="MsoNormal" style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Create      a one line .css file [example] "NoImages.css", copy the below      line to Notepad and Save As: NoImages.css. Open Internet Options | General      tab | Accessibility button, place a check in "Format documents using      my style sheet", click OK.&lt;br /&gt;    &lt;br /&gt;     &lt;b&gt;IMG { display: none !important;}&lt;br /&gt;     Download&lt;/b&gt;: &lt;a href="http://www.mvps.org/winhelp2002/NoImages.css" target="_blank"&gt;&lt;span style="color: windowtext;"&gt;NoImages.css&lt;/span&gt;&lt;/a&gt; [right-click      and select: Save Target As] &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;The next time you want to print the contents of a web page but don't want to waste the time and ink printing all the ads, banners, etc. just Toggle the above option on\off. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: 14.65pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;&lt;b&gt;Note&lt;/b&gt;: there is no need to restart IE as this trick works on the fly. Also be aware that &lt;a href="http://www.trendmicro.com/cwshredder/" target="_blank"&gt;&lt;span style="color: windowtext;"&gt;CWShredder &lt;/span&gt;&lt;/a&gt;detects any/all .css files as suspect and deletes them. CWShredder is no longer recommended ... avoid using this outdated program.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5820086602350772821-7078551868544600700?l=techasilo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techasilo.blogspot.com/feeds/7078551868544600700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5820086602350772821&amp;postID=7078551868544600700' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/7078551868544600700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/7078551868544600700'/><link rel='alternate' type='text/html' href='http://techasilo.blogspot.com/2007/04/internet-explorer-hacks-and-tips.html' title='Internet Explorer Hacks and Tips'/><author><name>Bala</name><uri>http://www.blogger.com/profile/01811829695894708630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://balaarjunan.files.wordpress.com/2007/04/balaarjunan.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5820086602350772821.post-3308681819125561687</id><published>2007-04-05T16:36:00.000+05:30</published><updated>2007-04-07T08:46:28.688+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><title type='text'>CSS Underscore Hack : IE cross compatibility issue solved</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;CSS Hack:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;Every Developer would have struggled with Cross Browser Compatibilities and that too these days, the things which work with IE doesnt work with FF and vice versa. Once you are into this issue, it is really difficult to make it up. You have to see both the browsers as two pans of a balance.There are so many hacks coming in. One such is "The underscore hack", which can be used almost for all issues.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-family: trebuchet ms;font-size:100%;" &gt;What is this Underscore Hack issue?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;Underscore issue as the name implies is nothing but adding a underscore for every property which behaves differently in IE and FF. Say you have a left margin specification.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;left:5px;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;But this is not getting properly displayed in IE, IE needs 8 px for that same layout.so the hack is we are adding one more specificaiton which goes like&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;_left:8px&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;this "_" specified value will be taken by IE and FF/other browser will take the other value.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;But sometimes, we go to an extent of using negative values for proper display using "_", but that is not a standard practise. we should avoid that.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5820086602350772821-3308681819125561687?l=techasilo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techasilo.blogspot.com/feeds/3308681819125561687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5820086602350772821&amp;postID=3308681819125561687' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/3308681819125561687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/3308681819125561687'/><link rel='alternate' type='text/html' href='http://techasilo.blogspot.com/2007/04/css-underscore-hack-ie-cross.html' title='CSS Underscore Hack : IE cross compatibility issue solved'/><author><name>Bala</name><uri>http://www.blogger.com/profile/01811829695894708630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://balaarjunan.files.wordpress.com/2007/04/balaarjunan.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5820086602350772821.post-1552345042818847809</id><published>2007-04-05T10:51:00.000+05:30</published><updated>2007-04-07T08:45:59.727+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSON'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><title type='text'>JSON vs XML</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;This article is intented to give a brief Sketch about JSON and a small comparison between JSON and XML&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;The JavaScript Object Notation, or JSON, is a lightweight syntax for representing data. It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999. JSON is a text format that is completely language independent.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;JSON is a collection of name/value pairs and that is an Object. An object is an unordered set of name/value pairs. An object begins with { (left brace) and ends with } (right brace). Each name is followed by : (colon) and the name/value pairs are separated by , (comma).&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;The main advantage of JSON is that, it can be represented in any language standard say C, java and even in Scripts. The entire list is here.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;I just tried CSS JSON, it was pretty easy. Here is one example. Say Suppose we have one CSS structure which goes like this.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;selector-1 {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;property-1:value1;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;property-2:value2;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;And how can we represented in JSON, it is really easy. Here it goes&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;“selector-1″:{&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;“property-1″:”value-1″,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;“property-n”:”value-n”&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;Sounds easy???&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;Let us take another Ordinary XML schema and let us try representing them in JSON.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;This is the XML version.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;For example, an address book application might provide a Web service that yields address cards in this XML format:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;card style="font-family: trebuchet ms;"&gt;&lt;/card&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;card style="font-family: trebuchet ms;"&gt;&lt;fullname&gt;Name&lt;/fullname&gt;&lt;/card&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;card style="font-family: trebuchet ms;"&gt;&lt;org&gt;PH&lt;/org&gt;&lt;/card&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;card style="font-family: trebuchet ms;"&gt;&lt;org&gt;&lt;/org&gt;&lt;/card&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;card style="font-family: trebuchet ms;"&gt;&lt;org&gt;&lt;/org&gt;&lt;emailaddrs&gt;&lt;/emailaddrs&gt;&lt;/card&gt;&lt;/span&gt;&lt;address style="font-family: trebuchet ms;" type="’work’"&gt;&lt;span style="font-size:100%;"&gt;abcd@xyz.com&lt;/span&gt;&lt;/address&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;me@mailme.com&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;telephones style="font-family: trebuchet ms;"&gt;&lt;tel type="’work’" pref="’1′"&gt;+12345678&lt;/tel&gt;&lt;/telephones&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;telephones style="font-family: trebuchet ms;"&gt;&lt;tel type="’mobile’"&gt;+1234 1234&lt;/tel&gt;&lt;/telephones&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;telephones style="font-family: trebuchet ms;"&gt;&lt;tel type="’mobile’"&gt;&lt;/tel&gt;&lt;/telephones&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;telephones style="font-family: trebuchet ms;"&gt;&lt;tel type="’mobile’"&gt;&lt;/tel&gt;&lt;/telephones&gt;&lt;addresses style="font-family: trebuchet ms;"&gt;&lt;/addresses&gt;&lt;/span&gt;&lt;address style="font-family: trebuchet ms;" type="’work’" format="’B'"&gt;&lt;span style="font-size:100%;"&gt;1234 Oil Mill St&lt;br /&gt;Chennai, IND&lt;/span&gt;&lt;/address&gt;&lt;br /&gt;&lt;address style="font-family: trebuchet ms;" type="’home’" format="’B'"&gt;&lt;span style="font-size:100%;"&gt;5678 Oil Mill St&lt;br /&gt;Chennai, IND&lt;/span&gt;&lt;/address&gt;&lt;span style="font-size:100%;"&gt;&lt;urls style="font-family: trebuchet ms;"&gt;&lt;/urls&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;urls style="font-family: trebuchet ms;"&gt;&lt;/urls&gt;&lt;/span&gt;&lt;address style="font-family: trebuchet ms;" type="’work’"&gt;&lt;span style="font-size:100%;"&gt;http://techasilo.blogspot.com/&lt;/span&gt;&lt;/address&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;http://techasilo.blogspot.com/&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;Now we will analyse this XML, there is root entity called “card” and it has child nodes namely “fullname”,”org”,”telephone” etc. In turn they have&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;attributes. Let us take the innermost entity “telephones” it has attributes say “type” and “value”. So how can we represent them in JSON.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;We can have name value pair arrays which goes like&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;“telephones”: [&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;{”type”: “work”, “pref”: 1, “value”: “+12345678″},&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;{”type”: “mobile”, “value”: “+1234 1234″}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;],&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;So similarly it applies to all other elements and all the elements are contained in one OBJECT and we can draw them as&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;“fullname”: “Name”,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;“org”: “PH”,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;“emailaddrs”: [&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;{”type”: “work”, “value”: “abcd@xyz.com”},&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;{”type”: “home”, “pref”: 1, “value”: “me@mailme.com”}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;],&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;“telephones”: [&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;{”type”: “work”, “pref”: 1, “value”: “+12345678″},&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;{”type”: “mobile”, “value”: “+1234 1234″}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;],&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;“addresses”: [&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;{”type”: “work”, “format”: “us”,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;“value”: “1234 Oil Mill St Chennai, IND”},&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;{”type”: “home”, “format”: “us”,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;“value”: “5678 Oil Mill St Chennai, IND”}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;],&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;“urls”: [&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;{”type”: “work”, “value”: “http://techasilo.blogspot.com/”},&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;{”type”: “home”, “value”: “http://techasilo.blogspot.com/”}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;It is! It is sure that JSON will replace XML in future. But how?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;Json is a notation; this raised some doubts for me. JSON is also a markup language like XML. Then what is the difference between JSON and XML.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;-Both are text based.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;-Both uses Unicode.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;-Both are readable by humans.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;But JSON has less redundancy, XML will be best for making documents and JSON can be for best interchange.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-family: trebuchet ms;font-size:100%;" &gt;Why JSON would be a best way for interchange?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;XML is not well suited to data-interchange because&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;*It carries a lot of baggage,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;*It doesn’t match the data model of most programming languages.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;And JSON overcomes all these disadvantages and still manages to provide interoperability and openness.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;But one disadvantage is that, JSON is not extensible, but some says it doesn’t need to be, because they say JSON is not a Document markup Language, so it is not&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;necessary to define new tags and attribute to represent data in it and it doesn’t provide any display capabilities.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;JSON might be the next Universal Standard.The next Generation of Technology&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5820086602350772821-1552345042818847809?l=techasilo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techasilo.blogspot.com/feeds/1552345042818847809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5820086602350772821&amp;postID=1552345042818847809' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/1552345042818847809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/1552345042818847809'/><link rel='alternate' type='text/html' href='http://techasilo.blogspot.com/2007/04/json-vs-xml.html' title='JSON vs XML'/><author><name>Bala</name><uri>http://www.blogger.com/profile/01811829695894708630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://balaarjunan.files.wordpress.com/2007/04/balaarjunan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5820086602350772821.post-8696360688935264538</id><published>2007-04-04T10:42:00.000+05:30</published><updated>2007-04-07T08:45:29.969+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Language'/><category scheme='http://www.blogger.com/atom/ns#' term='Generics'/><title type='text'>Generics - .Net Vs Java</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;All of you would have heard about the new feature called “Generics” that has been introduced both in .Net CLR for Whidbey as well as Java 1.5. Given below is a small comparison between the Generics in both these technologies with respect to their role in improving performance.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-weight: bold;"&gt;What is Generics?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;“Generics” is a means of creating parameterized objects, i.e. specifying the objects that a class can work with at the time of declaring the objects. These objects are then evaluated at the compile time itself unlike at the run time as is the case without Generics.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;While .Net Generics offers a performance boost to the program, Generics in Java is mainly intended to improve code clarity and readability. &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;br /&gt;&lt;br /&gt;The advantages offered by Generics in Java are:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;1) Improved code readability&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;2) Reduced casts.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;However, it is important to note that since casting is still being performed behind the scenes, the Java programs will not receive a performance boost from using generics. The addition of generics to the Java language is not intended to improve performance; it is intended to increase program readability and reliability while maintaining backwards compatibility with existing programs.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-weight: bold;"&gt;How is Generics in .Net different from that of Java?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Generics in .NET offer all of the advantages mentioned for them in the Java world, but unlike the Java world, in the .NET world we do find potential performance gains mentioned as an advantage of using .NET generics. Technically, the reason appears to be that the Java implementation is based in the Java compiler which simply generates an ordinary collection wrapped with type casting, just as we would use without generics to build a type-safe collection. But in .NET generics are implemented within the CLR, so that the code itself is type safe and type-casting is eliminated. In other words, generic variables (as opposed to java) don't need any casts at all as they are stored in the specific type. So if there is a generic list of ints it is internally handled as a real int-array and not as an array of objects which get cast to Integer and then unboxed. Thus the expected performance gains.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Current benchmarks of a quick-sort of an array of one million integers shows that the generic method is three times faster than the non-generic equivalent. This is because boxing of the values is avoided completely. The same sort over an array of string references resulted in a 20 percent improvement in performance with the generic method due to the absence of a need to perform type checking at run time.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;The following links give more information on what generics are:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://research.microsoft.com/projects/clrgen/generics.pdf"&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;http://research.microsoft.com/projects/clrgen/generics.pdf &lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf"&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;span style="font-family:trebuchet ms;"&gt;http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5820086602350772821-8696360688935264538?l=techasilo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techasilo.blogspot.com/feeds/8696360688935264538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5820086602350772821&amp;postID=8696360688935264538' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/8696360688935264538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/8696360688935264538'/><link rel='alternate' type='text/html' href='http://techasilo.blogspot.com/2007/04/all-of-you-would-have-heard-about-new.html' title='Generics - .Net Vs Java'/><author><name>Bhuvi</name><uri>http://www.blogger.com/profile/00718005947779278574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5820086602350772821.post-4752488981085132913</id><published>2007-04-01T09:42:00.000+05:30</published><updated>2007-04-07T08:44:43.173+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Axis'/><category scheme='http://www.blogger.com/atom/ns#' term='Weblogic'/><title type='text'>AXIS client stubs deployed in Weblogic 8.1</title><content type='html'>&lt;span style=";font-family:trebuchet ms;font-size:100%;"  &gt;A call to a Web service has become the nerve of web application development and this post is to discuss about one of the issues that we faced in deploying an axis generated client stub module in Weblogic 8.1.&lt;br /&gt;&lt;br /&gt;The underlying problem is the version conflict of the javax.xml.soap.* package used by AXIS and Weblogic 8.1. Axis uses a new version of this package while the application server Weblogic 8.1 has an older version. Finally you end up with an Exception when the client program written to use the axis client stub is deployed on Weblogic.&lt;br /&gt;&lt;br /&gt;How do you solve it?&lt;br /&gt;1) Make a modification to the Weblogic startup script such that the saaj.jar of axis is ahead in the CLASSPATH (before WEBLOGIC_CLASSPATH) before webservices.jar of Weblogic.&lt;br /&gt;&lt;br /&gt;However, this is not a suggested one as this modification would be applied for all the applications deployed in that container. A change should be application specific. Let’s go for an application specific solution.&lt;br /&gt;&lt;br /&gt;2) Make modification to the weblogic.xml in the application such that you instruct the server to look for classes in web-inf first rather than the files on the server's classpath.&lt;br /&gt;&lt;br /&gt;In WEB-INF\weblogic.xml&lt;br /&gt;&lt;br /&gt;&amp;lt;weblogic-web-app&amp;gt;&lt;br /&gt;&amp;lt;container-descriptor&amp;gt;&lt;br /&gt;&amp;lt;prefer-web-inf-classes&amp;gt;true&amp;lt;/prefer-web-inf-classes&amp;gt;&lt;br /&gt;&amp;lt;/container-descriptor&amp;gt;&lt;br /&gt;&lt;br /&gt;http://ws.apache.org/axis/java/install.html#WebLogic8.1&lt;br /&gt;&lt;br /&gt;However beware of few more things when you use this solution - Your application will not have only calls to web services - Of course there be other jars. For example - Problem in parsing XML files, Weblogic server specific codes which conflicts with the jars in you web-inf (ejb client stubs and so on).&lt;br /&gt;&lt;br /&gt;For solving the problems with parsing - makes necessary entries in the XML registry of the server to point to the new versions of the series you would have in you web-inf.&lt;br /&gt;&lt;br /&gt;-Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl&lt;br /&gt;-Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl&lt;br /&gt;-Djavax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl&lt;br /&gt;&lt;br /&gt;3) Making modification to the Weblogic startup script to include the following JAVA_OPTIONS would force the server to use the Message Factory of axis. But this solution did not work for me :(&lt;br /&gt;&lt;br /&gt;-Djavax.xml.soap.MessageFactory="org.apache.axis.soap.MessageFactoryImpl"&lt;br /&gt;&lt;br /&gt;Try these and do add your comments if any of these solutions are not working or are not valid.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5820086602350772821-4752488981085132913?l=techasilo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techasilo.blogspot.com/feeds/4752488981085132913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5820086602350772821&amp;postID=4752488981085132913' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/4752488981085132913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5820086602350772821/posts/default/4752488981085132913'/><link rel='alternate' type='text/html' href='http://techasilo.blogspot.com/2007/04/call-to-web-service-has-become-nerve-of.html' title='AXIS client stubs deployed in Weblogic 8.1'/><author><name>Bhargavi</name><uri>http://www.blogger.com/profile/09720993553910388903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
