<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Java on Miro&#39;s World</title>
    <link>https://miroadamy.com/tags/java/</link>
    <description>Recent content in Java on Miro&#39;s World</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>© 2026 Miro Adamy</copyright>
    <lastBuildDate>Sun, 10 Feb 2019 11:22:48 +0800</lastBuildDate><atom:link href="https://miroadamy.com/tags/java/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>SSL Poke</title>
      <link>https://miroadamy.com/posts/2019-02-10-ssl-poke/</link>
      <pubDate>Sun, 10 Feb 2019 11:22:48 +0800</pubDate>
      
      <guid>https://miroadamy.com/posts/2019-02-10-ssl-poke/</guid>
      <description>&lt;h1 class=&#34;relative group&#34;&gt;Cybersource Testing Tool&#xA;    &lt;div id=&#34;cybersource-testing-tool&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#cybersource-testing-tool&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h1&gt;&#xA;&lt;p&gt;Java utility that we used before when we were debugging the TLS 1.2 issues.&lt;/p&gt;&#xA;&lt;p&gt;It needs to be compiled with JDK 1.8 - ideally the same one that runs in production and then run like:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;java -Djavax.net.debug=ssl:handshake:verbose SSLPoke api.cybersource.com 443&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;replace api.cybersource.com with whatever the cybersource endpoint needs to be.&lt;/p&gt;&#xA;&lt;p&gt;If the utility responds with &amp;lsquo;Successfully connected’, it was able to handshake with the SSL server and establish the secure connection.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>VisualVM inside Docker container</title>
      <link>https://miroadamy.com/posts/2017-11-23-visual-vm/</link>
      <pubDate>Thu, 23 Nov 2017 11:22:48 +0800</pubDate>
      
      <guid>https://miroadamy.com/posts/2017-11-23-visual-vm/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;The idea / motivation&#xA;    &lt;div id=&#34;the-idea--motivation&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#the-idea--motivation&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;In order to run VisualVM from predefined configuration you need to point the app to the user directory. This directory takes about 20MB, but 90% of the the content is actually generated or repeated.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;➜  4devops-visualvm git:(master) du -sh tw-sl/*&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;244K    tw-sl/config&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;7.3M    tw-sl/modules&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 52K    tw-sl/repository&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;4.0K    tw-sl/update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;104K    tw-sl/update_tracking&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 11M    tw-sl/var&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;➜  4devops-visualvm git:(master) du -sh tw-wool/*&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;248K    tw-wool/config&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;7.2M    tw-wool/modules&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 60K    tw-wool/repository&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;4.0K    tw-wool/update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;104K    tw-wool/update_tracking&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 11M    tw-wool/var&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;➜  4devops-visualvm git:(master) du -sh tw-wool&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 19M    tw-wool&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;The only part that is specific and worthy of maintaining in the Git repo is repository&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Fixing the shutdown problem with JBoss</title>
      <link>https://miroadamy.com/posts/2015-04-11-jboss-shutdown/</link>
      <pubDate>Sat, 11 Apr 2015 11:22:48 +0800</pubDate>
      
      <guid>https://miroadamy.com/posts/2015-04-11-jboss-shutdown/</guid>
      <description>&lt;p&gt;Observed at QA environment. During automated shutdown sequence, the exception was thrown:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ bin/gdi-qa-com1.sh stop&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;JBOSS_CMD_STOP = java -classpath /opt/jboss/jboss-as/bin/shutdown.jar:/opt/jboss/jboss-as/client/jnet.jar org.jboss.Shutdown --shutdown --user=admin --password=admin -s jnp://0.0.0.0:1099&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Exception in thread &amp;#34;main&amp;#34; javax.naming.CommunicationException: Could not obtain connection to any of these urls: 0.0.0.0:1099 [Root exception is javax.naming.CommunicationException: Failed to connect to server /0.0.0.0:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server /0.0.0.0:1099 [Root exception is java.net.ConnectException: Connection refused]]]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1763)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:693)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:686)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at javax.naming.InitialContext.lookup(InitialContext.java:392)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jboss.Shutdown.main(Shutdown.java:219)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Caused by: javax.naming.CommunicationException: Failed to connect to server /0.0.0.0:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server /0.0.0.0:1099 [Root exception is java.net.ConnectException: Connection refused]]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:335)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1734)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ... 4 more&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Caused by: javax.naming.ServiceUnavailableException: Failed to connect to server /0.0.0.0:1099 [Root exception is java.net.ConnectException: Connection refused]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:305)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ... 5 more&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Caused by: java.net.ConnectException: Connection refused&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at java.net.PlainSocketImpl.socketConnect(Native Method)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:211)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at java.net.Socket.connect(Socket.java:529)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:97)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:82)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:301)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ... 5 more&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;To watch the log: tail -f /var/log/atg/gdi-qa-com1.log&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;The conflict of 1099 between Endeca and ATG was resolved according &lt;code&gt;Fixing port conflict on 1099 between out-of-the-box Endeca and JBOSS&lt;/code&gt; - the actual port was 11199&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Dealing with &#39;Java Runtime SE 6&#39; required error</title>
      <link>https://miroadamy.com/posts/2014-10-14-java6required/</link>
      <pubDate>Tue, 14 Oct 2014 11:22:48 +0800</pubDate>
      
      <guid>https://miroadamy.com/posts/2014-10-14-java6required/</guid>
      <description>&lt;p&gt;When trying to start DBeaver (&lt;a href=&#34;http://dbeaver.jkiss.org&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;http://dbeaver.jkiss.org&lt;/a&gt;) I got this&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://miroadamy.com/images/java6-1.png&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;I do have Java 7 installed:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;➜  Contents  java -version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;java version &amp;#34;1.7.0_55&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Java(TM) SE Runtime Environment (build 1.7.0_55-b13)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;➜  Contents  which java&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;java is /Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home/bin/java&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;java is /usr/bin/java&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;which should be a superset. But it is not.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Solution&#xA;    &lt;div id=&#34;solution&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#solution&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Oracle seems to screw up the PLIST capabilities in JAva7 install&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Finding out the class in ATG installation</title>
      <link>https://miroadamy.com/posts/2014-08-26-find-class/</link>
      <pubDate>Tue, 26 Aug 2014 11:22:48 +0800</pubDate>
      
      <guid>https://miroadamy.com/posts/2014-08-26-find-class/</guid>
      <description>&lt;h1 class=&#34;relative group&#34;&gt;Java approach&#xA;    &lt;div id=&#34;java-approach&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#java-approach&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h1&gt;&#xA;&lt;p&gt;Use the real time search with this JAR - &lt;a href=&#34;https://jarscan.com/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;https://jarscan.com/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;➜  scripts git:(authoring) ✗ java -jar ~/bin/jarscan.jar&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;=========================&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;JarScan&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;written by Geoff Yaworski&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gyaworski@hotmail.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Version 2.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;=========================&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Usage: java -jar jarscan.jar [-help | /?]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    [-dir directory name]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    [-zip]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    [-showProgress]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    &amp;lt;-files | -class | -package&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    &amp;lt;search string 1&amp;gt; [search string 2]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    [search string n]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Help:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -help or /?           Displays this message.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -dir                  The directory to start searching&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                        from default is &amp;#34;.&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -zip                  Also search Zip files&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -showProgress         Show a running count of files read in&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -files or -class      Search for a file or Java class&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                        contained in some library.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                        i.e. HttpServlet&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -package              Search for a Java package&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                        contained in some library.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                        i.e. javax.servlet.http&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  search string         The file or package to&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                        search for.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                        i.e. see examples above&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;example&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Binding DashDoc with editors and Eclipse</title>
      <link>https://miroadamy.com/posts/2013-12-31-binding-dashdoc-with-editors-and-eclipse/</link>
      <pubDate>Tue, 31 Dec 2013 00:57:35 -0500</pubDate>
      
      <guid>https://miroadamy.com/posts/2013-12-31-binding-dashdoc-with-editors-and-eclipse/</guid>
      <description>&lt;p&gt;If you use DashDoc (see &lt;a href=&#34;http://kapeli.com/dash&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;http://kapeli.com/dash&lt;/a&gt;), it can be integrated with editor or Eclipse to allow automatically find selected text in Dash documentation sets:&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;Sublime Text&#xA;    &lt;div id=&#34;sublime-text&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#sublime-text&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;This is easy - there is DashDoc plugin - &lt;a href=&#34;https://sublime.wbond.net/packages/DashDoc&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;https://sublime.wbond.net/packages/DashDoc&lt;/a&gt;&lt;br&gt;&#xA;The plugin is OS-X specific, because the DashDoc is&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Start Package Control (Cmd-Shift-P)&lt;/li&gt;&#xA;&lt;li&gt;select Install Package (type Install)&lt;/li&gt;&#xA;&lt;li&gt;select DashDoc&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The Ctrl-H does the search&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>GVM</title>
      <link>https://miroadamy.com/posts/2013-01-08-gvm/</link>
      <pubDate>Tue, 08 Jan 2013 11:22:48 +0800</pubDate>
      
      <guid>https://miroadamy.com/posts/2013-01-08-gvm/</guid>
      <description>&lt;p&gt;Installed GVM from:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://gvmtool.net&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;http://gvmtool.net&lt;/a&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~ $ curl -s get.gvmtool.net | bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Thanks for using                                                    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;_____/\\\\\\\\\\\\__/\\\________/\\\__/\\\\____________/\\\\_       &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; ___/\\\//////////__\/\\\_______\/\\\_\/\\\\\\________/\\\\\\_      &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  __/\\\_____________\//\\\______/\\\__\/\\\//\\\____/\\\//\\\_     &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   _\/\\\____/\\\\\\\__\//\\\____/\\\___\/\\\\///\\\/\\\/_\/\\\_    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    _\/\\\___\/////\\\___\//\\\__/\\\____\/\\\__\///\\\/___\/\\\_   &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;     _\/\\\_______\/\\\____\//\\\/\\\_____\/\\\____\///_____\/\\\_  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      _\/\\\_______\/\\\_____\//\\\\\______\/\\\_____________\/\\\_ &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       _\//\\\\\\\\\\\\/_______\//\\\_______\/\\\_____________\/\\\_&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        __\////////////__________\///________\///______________\///__&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                                                      &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                       Will now attempt installing...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                                                      &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Looking for a previous installation of GVM...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Looking for JAVA_HOME...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Validating JAVA_HOME...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Looking for unzip...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Looking for curl...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Installing gvm scripts...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Create distribution directories...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Create candidate directories...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Download script archive...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Extract script archive...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Install scripts...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Make init script executable...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Prime config file...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Attempt update of bash profiles...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Updated existing /Users/miro/.bash_profile&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Updated existing /Users/miro/.profile&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Updated existing /Users/miro/.bashrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Attempt update of zsh profiles...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Created and initialised /Users/miro/.zshrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Clean up local variables...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;All done!&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Please open a new terminal, or run the following in the existing one:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    source &amp;#34;/Users/miro/.gvm/bin/gvm-init.sh&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Then issue the following command:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   gvm help&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Enjoy!!!&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Using&#xA;    &lt;div id=&#34;using&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#using&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;binsh $ gvm current&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Using:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;groovy: 2.0.6&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;grails: 2.2.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;griffon: 1.1.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gradle: 1.3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vertx: 1.3.0.final&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Fix for zsh&#xA;    &lt;div id=&#34;fix-for-zsh&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#fix-for-zsh&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://blog.andresteingress.com/2012/12/14/gvm-the-groovy-environment-manager/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;http://blog.andresteingress.com/2012/12/14/gvm-the-groovy-environment-manager/&lt;/a&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Tomcat 5 not reloading changes in JSP</title>
      <link>https://miroadamy.com/posts/2011-07-24-tomcat-5-not-reloading-changes-in-jsp/</link>
      <pubDate>Sun, 24 Jul 2011 17:33:34 -0400</pubDate>
      
      <guid>https://miroadamy.com/posts/2011-07-24-tomcat-5-not-reloading-changes-in-jsp/</guid>
      <description>&lt;p&gt;Part of the beauty of JSP development is the easy of trying out the change. All you have to do is edit the JSP file, save it and reload the page. Yesterday I got caught by surprise by not being able to do exactly that.&#xA;I saw some strange behaviour in an EL expression used JSP tag. As it was nothing ATG specific, I decided to try it out in plain old Tomcat rather than full ATG application. So I located the instance of Tomcat 5.5 (I always have couple of Tomcats lying around) and being lazy, I decided to inject the change into out-of the box jsp-examples Web application that comes with it.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>JSP compiler configuration in JBoss 4.2.x for ATG</title>
      <link>https://miroadamy.com/posts/2010-02-24-jsp-compiler-configuration-in-jboss-4-2-x-for-atg/</link>
      <pubDate>Wed, 24 Feb 2010 01:33:44 -0500</pubDate>
      
      <guid>https://miroadamy.com/posts/2010-02-24-jsp-compiler-configuration-in-jboss-4-2-x-for-atg/</guid>
      <description>&lt;p&gt;The post is on corporate blog - &lt;a href=&#34;https://web.archive.org/web/20111114225413/http://blog.thinkwrap.com/blog/2010/2/24/jsp-compiler-configuration-in-jboss-42x-for-atg.html&#34;&gt;http://blog.thinkwrap.com/blog/2010/2/24/jsp-compiler-configuration-in-jboss-42x-for-atg.html&lt;/a&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Bye bye Ruby, hello Groovy</title>
      <link>https://miroadamy.com/posts/2009-03-17-bye-bye-ruby-hello-groovy/</link>
      <pubDate>Tue, 17 Mar 2009 19:08:35 -0400</pubDate>
      
      <guid>https://miroadamy.com/posts/2009-03-17-bye-bye-ruby-hello-groovy/</guid>
      <description>&lt;p&gt;I first time discovered Ruby back in 2006 (yes, I know, I was late to the game), and immediately fell in love with it. The dynamic nature of the language, the consistency, pure esthaetics and practicality certainly changed the way how I saw software development and programming languages.&lt;/p&gt;&#xA;&lt;p&gt;Since that time, I made several attempts to integrate Ruby into my professional life and make it part of the toolbox. It was cool to play with Ruby in my spare time, but I wanted to use it on projects whose main development language/platform was mainly Java. Use it as scripting, glue language. Use it as toolkit language to e.g. generate test data, access databases, convert files, build projects and maybe even build a piece of Web applications (admin apps for example).&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>It&#39;s alive !</title>
      <link>https://miroadamy.com/posts/2009-02-18-its-alive/</link>
      <pubDate>Wed, 18 Feb 2009 20:26:22 -0500</pubDate>
      
      <guid>https://miroadamy.com/posts/2009-02-18-its-alive/</guid>
      <description>&lt;p&gt;I was aching to blog about this since December 18th, when our system quietly and gently slipped into public visibility. Marked as Beta (thanks, Google for making this a legitimate way how to go live) it comfortably made it through Christmas shopping season into 2009.&lt;/p&gt;&#xA;&lt;p&gt;Now when the site has been announced and mentioned few times in the media, I guess it&#39;s OK to mention it here too.&lt;/p&gt;&#xA;&lt;p&gt;What is &#34;it&#34; ? A new, fresh eCommerce site selling music. A lots of really good music. Without any DRM or any other nonsense, as plain good high quality (mostly 320 kps) MP3&#39;s. The selection is actually very good - starting from several hundred thousands in December to several few million songs when full catalog is loaded. More great music being added every week.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>After the Spring Storm</title>
      <link>https://miroadamy.com/posts/2008-09-25-after-the-spring-storm/</link>
      <pubDate>Thu, 25 Sep 2008 23:58:54 -0400</pubDate>
      
      <guid>https://miroadamy.com/posts/2008-09-25-after-the-spring-storm/</guid>
      <description>&lt;p&gt;Few days ago, I have received an email asking to attend the SpringSource conference and offering $300 discount if I decide to buy before end of month. The timining was pretty ironical, considering the recent contraversy about SpringSource Entreprise Maintenance policy change. The was a &lt;a href=&#34;http://www.theserverside.com/news/thread.tss?thread_id=50727&#34; target=&#34;_blank&#34;&gt;heated discussion on TheServerside.com&lt;/a&gt; and even &lt;a href=&#34;http://www.springsource.com/products/enterprise/maintenancepolicy/faq&#34; target=&#34;_blank&#34;&gt;FAQ&lt;/a&gt; was compiled by Rod Johnson to explain the whole thing.&lt;/p&gt;&#xA;&lt;p&gt;So what is the issue: SpringSource, commercial entity behind community driven Spring Framework decided to capitalize on the investment and push the community toward paid service suport contract. Whether or not it was related to funding round and VC&#39;s entering the game, is not important. Unfortunately, the terms were not really well explained and SpringSource did initially very poor job explaining and communicating the actual change. The community overreacted and lot of people started to call for code fork, project Summer or similar - or switching to different framework.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Trying out Groovy with Oracle database</title>
      <link>https://miroadamy.com/posts/2008-04-07-trying-out-groovy-with-oracle-database/</link>
      <pubDate>Mon, 07 Apr 2008 22:44:17 -0400</pubDate>
      
      <guid>https://miroadamy.com/posts/2008-04-07-trying-out-groovy-with-oracle-database/</guid>
      <description>&lt;p&gt;There is a saying that necessity is the mother of invention. Such necessity happened last week and forced me to try out the Groovy language.&lt;/p&gt;&#xA;&lt;p&gt;The trigger was need for creating good data set for testing changes in a full text search. I had to locate few hundred of obsolete technical documents to be used as test data, dump the metadata as well as the BLOB data to disc, create INSERT sql scripts and loader that would from Ant pre-load the database with the test set and insert the BLOB&#39;s. It is fairly simple task, the issue were boundary conditions:&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Showstopper issue with JRuby ?</title>
      <link>https://miroadamy.com/posts/2008-03-16-showstopper-issue-with-jruby/</link>
      <pubDate>Sun, 16 Mar 2008 23:36:26 -0400</pubDate>
      
      <guid>https://miroadamy.com/posts/2008-03-16-showstopper-issue-with-jruby/</guid>
      <description>&lt;p&gt;After some break, I dusted off the Ruby to try out one interesting idea Peter presented yesterday that literally ASKS for Rails. So I grabbed the latest and greatest RubyNetBeans from Ruby Hudson. For some reason it stopped updates on January 26th so the latest version I have got was build 6327. It is bundled with JRuby 1.1RC1 and the Rails version that comes preinstalled is 1.2.6. Using the menu Tools -&amp;gt; Ruby Gems, they can be easily upgraded to latest and greatest 2.0.2.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Versioning with Spring and Ant</title>
      <link>https://miroadamy.com/posts/2008-03-10-versioning-with-spring-and-ant/</link>
      <pubDate>Mon, 10 Mar 2008 21:11:33 -0400</pubDate>
      
      <guid>https://miroadamy.com/posts/2008-03-10-versioning-with-spring-and-ant/</guid>
      <description>&lt;p&gt;This is post is NOT about version control in the sense of source code control. It addresses the issue how to easily tell which version of the Web application is running as well make sure that the same version is reflected in the snapshots performed by Ant. We have used this approach on several applications and found it quite useful.&lt;/p&gt;&#xA;&lt;p&gt;The version I talk about is not the automatically generated version from VCS system (such as SVN revision). The version number is set manually.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>iBatis, Date null values and Oracle</title>
      <link>https://miroadamy.com/posts/2008-03-07-ibatis-date-null-values-and-oracle/</link>
      <pubDate>Fri, 07 Mar 2008 23:36:09 -0500</pubDate>
      
      <guid>https://miroadamy.com/posts/2008-03-07-ibatis-date-null-values-and-oracle/</guid>
      <description>&lt;p&gt;I better blog this before I forget what was the issue :-).&lt;/p&gt;&#xA;&lt;p&gt;During daily run of unit tests, I started to receive this (very well explained) exception:&lt;/p&gt;&#xA;&lt;p&gt;[sourcecode language=&#39;xml&#39;]&lt;br /&gt;&#xA;org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [17004];&lt;br /&gt;&#xA;--- The error occurred while applying a parameter map.&lt;br /&gt;&#xA;--- Check the APPROVAL_TASK.insert-InlineParameterMap.&lt;br /&gt;&#xA;--- Check the parameter mapping for the &#39;scheduledDate&#39; property.&lt;br /&gt;&#xA;--- Cause: java.sql.SQLException: Invalid column type; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:&lt;br /&gt;&#xA;--- The error occurred while applying a parameter map.&lt;br /&gt;&#xA;--- Check the APPROVAL_TASK.insert-InlineParameterMap.&lt;br /&gt;&#xA;--- Check the parameter mapping for the &#39;scheduledDate&#39; property.&lt;br /&gt;&#xA;--- Cause: java.sql.SQLException: Invalid column type&lt;br /&gt;&#xA;&#x9;at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.translate(SQLStateSQLExceptionTranslator.java:121)&lt;br /&gt;&#xA;&#x9;at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.translate(SQLErrorCodeSQLExceptionTranslator.java:322)&lt;br /&gt;&#xA;&#x9;at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:212)&lt;br /&gt;&#xA;&#x9;at org.springframework.orm.ibatis.SqlMapClientTemplate.insert(SqlMapClientTemplate.java:397)&lt;br /&gt;&#xA;... [/sourcecode]&lt;br /&gt;&#xA;Now the problem was that scheduledDate was null. Here is partial SQL map used:&lt;br /&gt;&#xA;[sourcecode language=&#39;xml&#39;]&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>How to generate and send emails using Spring and Velocity</title>
      <link>https://miroadamy.com/posts/2008-03-05-how-to-generate-and-send-emails-using-spring-and-velocity/</link>
      <pubDate>Wed, 05 Mar 2008 23:29:38 -0500</pubDate>
      
      <guid>https://miroadamy.com/posts/2008-03-05-how-to-generate-and-send-emails-using-spring-and-velocity/</guid>
      <description>&lt;p&gt;Testing applications that communicate using email is more challenging than e.g. testing database access. Thanks to GMail and Spring, it can be done pretty easily.&lt;/p&gt;&#xA;&lt;p&gt;Here is the scoop: I need to generate email notifying users about business events and after sending the email, store the content in the database. In real environment you will use corporate SMTP server and real email addresses of real people.&lt;br /&gt;&#xA;For development we can avoid bothering and spamming our customers by few simple tricks.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Spring PropertyPlaceholderConfigurer with Velocity</title>
      <link>https://miroadamy.com/posts/2008-02-25-spring-propertyplaceholderconfigurer-with-velocity/</link>
      <pubDate>Mon, 25 Feb 2008 23:24:11 -0500</pubDate>
      
      <guid>https://miroadamy.com/posts/2008-02-25-spring-propertyplaceholderconfigurer-with-velocity/</guid>
      <description>&lt;p&gt;Part of the configuration magic is (one of several) Spring post-processors, that allows load the property file or files and refer to the values in these files inside XML configuration files. The rationale behind these is that property files are much easier to edit that possibly huge XML config file and using property values prevents repeating same value over and over again. With this approach, the following configuration:&lt;/p&gt;&#xA;&lt;p&gt;[sourcecode language=&#39;xml&#39;]&lt;br /&gt;&#xA; &#x9;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Oracle SQLDeveloper and mystery of the missing host</title>
      <link>https://miroadamy.com/posts/2008-02-23-oracle-sqldeveloper-and-mystery-of-the-missing-host/</link>
      <pubDate>Sat, 23 Feb 2008 09:48:07 -0500</pubDate>
      
      <guid>https://miroadamy.com/posts/2008-02-23-oracle-sqldeveloper-and-mystery-of-the-missing-host/</guid>
      <description>&lt;p&gt;If you work with Oracle database, a very good tool you should not ignore is the Oracle SQL Developer. It gives you much more power when it comes to manipulating data or managing database. I use most of the time MyEclipseIDE plugins, but when I need e.g. export data, the SQLDeveloper is way to go.&lt;/p&gt;&#xA;&lt;p&gt;Today I tried it for first time on the Mac. I started to configure and database connection and was completely confused by the error message &#34;Port must contain numerical value&#34;. Here was the dialog box:&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Book recommendation: Java Concurrency in Practice</title>
      <link>https://miroadamy.com/posts/2008-02-06-book-recommendation-java-concurrency-in-practice/</link>
      <pubDate>Wed, 06 Feb 2008 23:01:35 -0500</pubDate>
      
      <guid>https://miroadamy.com/posts/2008-02-06-book-recommendation-java-concurrency-in-practice/</guid>
      <description>&lt;p&gt;After long time, I stumbled upon something that is both educational and practical. Since Doug Lea&#39;s classic, this is very readworthy work on concurrency in Java world. It focuses on Java 5 features and addresses both Web applications as well as GUI apps - each group having their own share of concurrency related problems&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;{{ site.baseurl }}/images/jcp.jpg&#34; alt=&#34;jcp.jpg&#34; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Here is the &lt;a href=&#34;http://www.amazon.ca/gp/product/0321349601?ie=UTF8&amp;amp;tag=none0b69&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0321349601&#34;&gt;Amazon page&lt;/a&gt; for the book - check the reviews.  There is also a &lt;a href=&#34;http://www.javaconcurrencyinpractice.com/jcip-sample.pdf&#34;&gt;sample chapter&lt;/a&gt; available on the &lt;a href=&#34;http://www.javaconcurrencyinpractice.com/&#34;&gt;book&#39;s website&lt;/a&gt;. If you have Safari subscription, you can read it there as well.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Spring Framework - the biggest missing piece</title>
      <link>https://miroadamy.com/posts/2008-02-04-spring-framework-the-biggest-missing-piece/</link>
      <pubDate>Mon, 04 Feb 2008 22:04:18 -0500</pubDate>
      
      <guid>https://miroadamy.com/posts/2008-02-04-spring-framework-the-biggest-missing-piece/</guid>
      <description>&lt;p&gt;I am having the pleasure working with Spring 2.x since about October last year. It is my return back to Spring, after first encounter in 2005 (counting only larger projects). Same as in previous project, it has been so much fun :-). So much fun in fact, that I was spending my evening playing with code and reading up what is new in 2.5, rather that blogging ;-)&lt;/p&gt;&#xA;&lt;p&gt;I am still amazed about how nice is the whole thing designed and how many ways it can be used. It&#39;s flexibility is simply breathtaking. The price for the flexibility is complexity - sometimes it is not obvious what of many options should be chosen and what are all these options anyway :-).&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Spring 2 MVC and ResourceBundleViewResolver problem</title>
      <link>https://miroadamy.com/posts/2008-01-24-spring-2-mvc-and-resourcebundleviewresolver-problem/</link>
      <pubDate>Thu, 24 Jan 2008 23:12:57 -0500</pubDate>
      
      <guid>https://miroadamy.com/posts/2008-01-24-spring-2-mvc-and-resourcebundleviewresolver-problem/</guid>
      <description>&lt;p&gt;This one took some time to figure out - it is one of those problems that are obvious after you know the solution but hard to see beforehand.&lt;/p&gt;&#xA;&lt;p&gt;I had the ResourceBundleViewResolver configured with Tiles 2, like this:&lt;/p&gt;&#xA;&lt;p&gt;[code language=&#39;xml&#39;]&lt;/p&gt;&#xA;&lt;p&gt;[/code]&lt;/p&gt;&#xA;&lt;p&gt;and the view.properties was:&lt;/p&gt;&#xA;&lt;p&gt;[code language=&#39;xml&#39;]&lt;br /&gt;&#xA;parent-view.(class)=org.springframework.web.servlet.view.JstlView&lt;br /&gt;&#xA;parent-view.(abstract)=true&lt;/p&gt;&#xA;&lt;p&gt;about.url=https://miroadamy.com/WEB-INF/jsp/about.jsp&lt;br /&gt;&#xA;form.url=https://miroadamy.com/WEB-INF/jsp/form.jsp&lt;br /&gt;&#xA;list.url=https://miroadamy.com/WEB-INF/jsp/list.jsp&lt;/p&gt;&#xA;&lt;p&gt;[/code]&lt;/p&gt;&#xA;&lt;p&gt;It kept givin exception saying that /WEB-INF/jsp/list.jsp does not exist. Which it did. I tried couple of things, no result.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Using iBatis with Abator</title>
      <link>https://miroadamy.com/posts/2008-01-20-using-ibatis-with-abator/</link>
      <pubDate>Sun, 20 Jan 2008 23:02:44 -0500</pubDate>
      
      <guid>https://miroadamy.com/posts/2008-01-20-using-ibatis-with-abator/</guid>
      <description>&lt;p&gt;I am back to Java and on mission of re-discovering &lt;a href=&#34;http://www.springframework.org/&#34; target=&#34;_blank&#34;&gt;Spring&lt;/a&gt; coolness - and in awe how much was added since 1.2 to current 2.5.1. Thanks, &lt;a href=&#34;http://www.springsource.com/web/guest/home&#34; target=&#34;_blank&#34;&gt;SpringSource&lt;/a&gt; and hundreds of contributors.&lt;/p&gt;&#xA;&lt;p&gt;Data layer of the current project is based on &lt;a href=&#34;http://ibatis.apache.org/&#34; target=&#34;_blank&#34;&gt;iBatis&lt;/a&gt; and Spring DAO. We have decided to try out the &lt;a href=&#34;http://ibatis.apache.org/abator.html&#34; target=&#34;_blank&#34;&gt;Abator&lt;/a&gt; tool from Apache (part of the iBatis suite) to generate initial version of data mapping (as we inherited the database schema).&lt;/p&gt;&#xA;&lt;p&gt;Only necessary part is abator.jar (there are no other dependencies).&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>JRuby - keeping your database.yml really DRY</title>
      <link>https://miroadamy.com/posts/2008-01-03-jruby-keeping-your-databaseyml-really-dry/</link>
      <pubDate>Thu, 03 Jan 2008 11:15:26 -0500</pubDate>
      
      <guid>https://miroadamy.com/posts/2008-01-03-jruby-keeping-your-databaseyml-really-dry/</guid>
      <description>&lt;p&gt;I am experimenting in JRuby and use database in virtual machine (VMWare Fusion). This is great because you can have multiple versions of multiple databases ready without polluting the notebook. One downsize though is that IP address of the database will change between the VM restarts.&lt;/p&gt;&#xA;&lt;p&gt;First important setting in Fusion is to use the &#39;NAT&#39; option rather than &#39;Bridged&#39;. With NAT, you database host IP address will not follow the network. It was quite annoying to change it from 192.168.X to 192.168.Y everytime I reconnected at home from work or vice versa.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>JRuby trunk - issues with JDBC connectivity</title>
      <link>https://miroadamy.com/posts/2007-12-28-jruby-trunk-issues-with-jdbc-connectivity/</link>
      <pubDate>Fri, 28 Dec 2007 22:24:37 -0500</pubDate>
      
      <guid>https://miroadamy.com/posts/2007-12-28-jruby-trunk-issues-with-jdbc-connectivity/</guid>
      <description>&lt;p&gt;Following the &lt;a href=&#34;http://www.apress.com/book/view/1590598814&#34; target=&#34;_blank&#34;&gt;book on JRuby&lt;/a&gt; I am discovering small differences when trying the examples. After installing activerecord-jdbc gem which is available in version 0.5, the shoplet application fails with Rails 2.0, as soon as you click on the &#39;About your application environment&#39; link.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    =&amp;gt; Booting Mongrel (use &amp;#39;script/server webrick&amp;#39; to force WEBrick)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    =&amp;gt; Rails application starting on http://0.0.0.0:3000&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    =&amp;gt; Call with -d to detach&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    =&amp;gt; Ctrl-C to shutdown server&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ** Starting Mongrel listening at 0.0.0.0:3000&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ** Starting Rails with development environment...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ** Rails loaded.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ** Loading any Rails specific GemPlugins&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ** Signals ready.  TERM =&amp;gt; stop.  USR2 =&amp;gt; restart.  INT =&amp;gt; stop (no restart).&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ** Rails signals registered.  HUP =&amp;gt; reload (without restart).  It might not work well.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ** Mongrel 1.1.2 available at 0.0.0.0:3000&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ** Use CTRL-C to stop.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    Processing InfoController#properties (for 127.0.0.1 at 2007-12-23 23:13:25) [GET]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    Session ID: BAh7BiIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo%0ASGFzaHsABjoKQHVzZWR7AA%3D%3D--9791be23205677745e457b5bf62c50eba6e3813f&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    Parameters: {&amp;#34;controller&amp;#34;=&amp;gt;&amp;#34;rails/info&amp;#34;, &amp;#34;action&amp;#34;=&amp;gt;&amp;#34;properties&amp;#34;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    Exception in thread &amp;#34;Ruby Thread11043409&amp;#34; java.lang.NoSuchMethodError: org.jruby.runtime.builtin.IRubyObject.setInstanceVariable(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at JdbcAdapterInternalService.set_connection(JdbcAdapterInternalService.java:122)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at JdbcAdapterInternalServiceInvoker$set_connection_FS1.call(Unknown Source)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jruby.runtime.callback.FastInvocationCallback.execute(FastInvocationCallback.java:55)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jruby.internal.runtime.methods.SimpleCallbackMethod.call(SimpleCallbackMethod.java:70)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:158)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jruby.runtime.CallSite$ArgumentBoxingCallSite.call(CallSite.java:103)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jruby.evaluator.ASTInterpreter.fCallNode(ASTInterpreter.java:1092)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:345)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jruby.evaluator.ASTInterpreter.blockNode(ASTInterpreter.java:626)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:293)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jruby.evaluator.ASTInterpreter.eval(ASTInterpreter.java:168)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:147)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:158)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jruby.runtime.CallSite$ArgumentBoxingCallSite.call(CallSite.java:76)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jruby.evaluator.ASTInterpreter.vcallNode(ASTInterpreter.java:1734)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:474)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jruby.evaluator.ASTInterpreter.blockNode(ASTInterpreter.java:626)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:293)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jruby.evaluator.ASTInterpreter.rescueNode(ASTInterpreter.java:1499)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:442)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    at org.jruby.evaluator.ASTInterpreter.eval(ASTInterpreter.java:168)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;I found out that there is newer version of activerecord-jdbc, which is also renamed to activerecord-jdbc-adapter. It is important to uninstall the old gem as well as install the new one, otherwise the application will not work.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Installation of Mongrel gem on JRuby</title>
      <link>https://miroadamy.com/posts/2007-12-23-installation-of-mongrel-gem-on-jruby/</link>
      <pubDate>Sun, 23 Dec 2007 20:22:50 -0500</pubDate>
      
      <guid>https://miroadamy.com/posts/2007-12-23-installation-of-mongrel-gem-on-jruby/</guid>
      <description>&lt;p&gt;I bought the &lt;a href=&#34;http://ola-bini.blogspot.com/&#34; target=&#34;_blank&#34;&gt;Ola Bini&lt;/a&gt;&#39;s &lt;a href=&#34;http://www.apress.com/book/view/1590598814&#34; target=&#34;_blank&#34;&gt;eBook on JRuby&lt;/a&gt; and started to work through the examples. The installation of the Mongrel gem in JRuby (trunk revision  5341 fails with the following error code:&lt;/p&gt;&#xA;```&#xA;    $ jruby -S gem install -y mongrel&gt;&#xA;    INFO:  `gem install -y` is now default and will be removed&gt;&#xA;    INFO:  use --ignore-dependencies to install only the gems you list&gt;&#xA;    Building native extensions.  This could take a while...&gt;&#xA;    extconf.rb:1:in `require&#39;: no such file to load -- mkmf (LoadError)&gt;&#xA;    ERROR:  Error installing mongrel:&gt;&#xA;    &#x9;ERROR: Failed to build gem native extension.[/sourcecode]&gt;&#xA;    This error is logged in JIRA with id JRUBY-1771Workaround (possibly applicable for other gems is to explicitly specify the plaform:&gt;&#xA;    [sourcecode language=&#39;ruby&#39;]&gt;&#xA;    $ jruby -S gem install -y mongrel --platform jruby&gt;&#xA;    INFO:  `gem install -y` is now default and will be removed&gt;&#xA;    INFO:  use --ignore-dependencies to install only the gems you list&gt;&#xA;    Successfully installed mongrel-1.1.2&gt;&#xA;    1 gem installed&gt;&#xA;    Installing ri documentation for mongrel-1.1.2...&gt;&#xA;    Installing RDoc documentation for mongrel-1.1.2...&#xA;```</description>
      
    </item>
    
    <item>
      <title>Great Spring blog</title>
      <link>https://miroadamy.com/posts/2007-12-19-great-spring-blog/</link>
      <pubDate>Wed, 19 Dec 2007 15:42:54 -0500</pubDate>
      
      <guid>https://miroadamy.com/posts/2007-12-19-great-spring-blog/</guid>
      <description>&lt;p&gt;in case you have not noticed - Interface21 aka SpringSource (great name change, btw) runs a &lt;a href=&#34;http://blog.interface21.com/&#34; target=&#34;_blank&#34;&gt;blog&lt;/a&gt; with lots of hidden treasures inside.&lt;/p&gt;&#xA;&lt;p&gt;Recent article describes new addition to Spring portfolio which is territory within my &#34;watched space&#34;: enterprise integration. See the &lt;a href=&#34;http://blog.interface21.com/main/2007/12/14/spring-integration-a-new-addition-to-the-spring-portfolio/&#34; target=&#34;_blank&#34;&gt;blog entry&lt;/a&gt; for more.&lt;a href=&#34;http://blog.interface21.com/main/2007/12/14/spring-integration-a-new-addition-to-the-spring-portfolio/&#34; target=&#34;_blank&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;If you are in corporate space that is keen on &#34;standards&#34;, the &lt;a href=&#34;http://blog.interface21.com/main/2007/11/09/a-response-to-ejb-3-and-spring-comparative-analysis/&#34; target=&#34;_blank&#34;&gt;comparison of Spring vs EJB3&lt;/a&gt; is very good article as well. Not that EJB would matter too much these days (IMHO) - but a nice read nevertheless.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>An advice to a fellow developer - 1</title>
      <link>https://miroadamy.com/posts/2007-12-12-an-advice-to-a-fellow-developer-1/</link>
      <pubDate>Wed, 12 Dec 2007 23:55:20 -0500</pubDate>
      
      <guid>https://miroadamy.com/posts/2007-12-12-an-advice-to-a-fellow-developer-1/</guid>
      <description>&lt;p&gt;We are recently interviewing quite a lot in anticipation of the great things coming. It is sort of similar task as we did year and something ago, but I enjoy this round much better. This time, rather than &#34;we have to assemble the project team ASAP&#34;, we have the luxury of longer term view and focus more on hiring the people that will be great match to the company culture, will be with us for longer period and will grow with the company.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Ragioni per fare il grande salto</title>
      <link>https://miroadamy.com/posts/2007-11-09-ragioni-per-fare-il-grande-salto/</link>
      <pubDate>Fri, 09 Nov 2007 23:51:28 -0500</pubDate>
      
      <guid>https://miroadamy.com/posts/2007-11-09-ragioni-per-fare-il-grande-salto/</guid>
      <description>&lt;p&gt;During  the vacation, we stopped in small bookstore in Verona which was selling computer software as well. At the entrance, there was a poster showing smiling Finder&#39;s face, Apple logo and announcing reasons why you would want to make the big jump - il grande salto - to Mac platform. That is to explain the title :-)&lt;/p&gt;&#xA;&lt;p&gt;Grande Salto is exactly what I did. Without too much preparation or notice. Since Tuesday evening I am happy owner of the beautiful piece of hardware (17 inch 2.4 GHz Core 2 Duo Macbook Pro with 250 GB HDD and 4 GB of RAM) that is greatly complemented by the amazing software collection (OS X 10.5, iLife 08, iWork 08 and many others) running on  it. I spent Wednesday playing with it and between &#39;Wows&#39; and &#39;Ahhs&#39; managed to setup the core applications I need for work: several configurations of Eclipse (with and without MyEclipseIDE), Netbeans with Ruby, couple of gems and of course &lt;a href=&#34;http://www.macromates.com/&#34; target=&#34;_blank&#34;&gt;THE editor&lt;/a&gt;. Then transferred the sources, installed Ant, Spring, Tomcat and couple of opensource packages (e.g. Jakarta Commons). And on Thursday, I jumped right into the field, to the client continuing in development of my current Java project in the place where I left it on Monday with Fujitsu N5100 running XP-ProSP2. As a plan B, I had my old notebook also with me - but did not have to resort to using it.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Installing ATG on Fedora Core</title>
      <link>https://miroadamy.com/posts/2007-11-08-installing-atg-on-fedora-core/</link>
      <pubDate>Thu, 08 Nov 2007 15:56:30 -0500</pubDate>
      
      <guid>https://miroadamy.com/posts/2007-11-08-installing-atg-on-fedora-core/</guid>
      <description>&lt;p&gt;Trying to install &lt;a href=&#34;http://www.atg.com/&#34;&gt;ATG&lt;/a&gt; on the &lt;a href=&#34;http://fedoraproject.org/wiki/Overview&#34; target=&#34;_blank&#34;&gt;Linux&lt;/a&gt; platform turned out to be not completely hickup-free. The default installer died with the following message:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    $ ./ATG2007.1.bin&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    Preparing to install...&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    Extracting the installation resources from the installer archive...&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    Configuring the installer for this system&amp;#39;s environment...&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    awk: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    dirname: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    /bin/ls: error while loading shared libraries: librt.so.1: cannot open shared object file: No such file or directory&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    basename: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    dirname: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    basename: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory[/sourcecode]&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    Fortunately, the fix was easy after I found out what went wrong: incorrect assumption about kernel version. To make it work, this &amp;#34;hack&amp;#34; helped:&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    [sourcecode language=&amp;#39;css&amp;#39;]&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    $ mv ATG2007.1.bin ATG2007.1.bin.orig&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    $ cat ATG2007.1.bin.orig | sed &amp;#34;s/export LD_ASSUME_KERNEL/#xport LD_ASSUME_KERNEL/&amp;#34; &amp;amp;gt;ATG2007-1.bin&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;None of this of course happens on Windows - oh, yes - the joys of not swimming with the crowd :-). You will encounter issues otherwise unknown - but also learn something in the process.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Missing Java 6 on Leopard - is sky really falling ?</title>
      <link>https://miroadamy.com/posts/2007-10-31-missing-java-6-on-leopard-is-sky-really-falling/</link>
      <pubDate>Wed, 31 Oct 2007 00:00:08 -0400</pubDate>
      
      <guid>https://miroadamy.com/posts/2007-10-31-missing-java-6-on-leopard-is-sky-really-falling/</guid>
      <description>&lt;p&gt;Since the big meow on Friday, lot of unhappy people had been talking and blogging about &lt;a href=&#34;http://javablog.co.uk/2007/10/26/apple-os-x-leopard-doesnt-have-java-6/&#34; target=&#34;_blank&#34;&gt;how terrible&lt;/a&gt; and &lt;a href=&#34;http://blogs.sun.com/david/entry/no_java_6_on_mac&#34; target=&#34;_blank&#34;&gt;unacceptable&lt;/a&gt; is the &lt;a href=&#34;http://javathink.blogspot.com/&#34; target=&#34;_blank&#34;&gt;absence of the Java 6&lt;/a&gt; from the Leopard. Some post were sounding very dramatic &#34;I would not buy Mac if I only knew ...&#34; - which is a bit silly. The &lt;a href=&#34;http://www.apple.com/macosx/features/300.html&#34; target=&#34;_blank&#34;&gt;Leopard&#39;s 300 new features&lt;/a&gt; were posted and touted and hyped for two weeks. Some of the &#34;great&#34; improvements were actually fairly modest improvements - so it was OBVIOUS that Java 6 is not going to be included because it would definitely make the list. QED.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Petstore for Ruby/JRuby</title>
      <link>https://miroadamy.com/posts/2007-10-01-petstore-for-rubyjruby/</link>
      <pubDate>Mon, 01 Oct 2007 23:27:37 -0400</pubDate>
      
      <guid>https://miroadamy.com/posts/2007-10-01-petstore-for-rubyjruby/</guid>
      <description>&lt;p&gt;There is - after all - a &lt;a href=&#34;http://72.5.124.55/blueprints/code/index.html&#34; target=&#34;_blank&#34;&gt;Petstore&lt;/a&gt; implementation for Ruby. Somebody &lt;a href=&#34;http://www.javalobby.org/java/forums/t102063.html&#34; target=&#34;_blank&#34;&gt;asked a question at the DZone&lt;/a&gt; and the response posted by &lt;a href=&#34;http://www.javalobby.org/forums/profile.jspa?userID=201459&#34; target=&#34;_blank&#34;&gt;Raphael Valyi&lt;/a&gt; was:&lt;/p&gt;&#xA;&lt;h3&gt;Re: Is there a Pet Store in Grails/Rails?&lt;/h3&gt;&#xA;&lt;p&gt;I&#39;m speaking here for the Rails (JRuby) side:&lt;br /&gt;&#xA;there is actually a petstore, it can be found there:&lt;br /&gt;&#xA;&lt;a href=&#34;http://viewvc.rubyforge.mmmultiworks.com/cgi/viewvc.cgi/?root=tw-commons&#34; target=&#34;_blank&#34;&gt;http://viewvc.rubyforge.mmmultiworks.com/cgi/viewvc.cgi/?root=tw-commons&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Some guys used it to compare C-Ruby vs JRuby performance:&lt;br /&gt;&#xA;&lt;a href=&#34;http://www.nabble.com/JRuby-vs-MRI---Petstore-shootout-t4289470.html&#34; target=&#34;_blank&#34;&gt;http://www.nabble.com/JRuby-vs-MRI---Petstore-shootout-t4289470.html&lt;/a&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Spring example Petclinic on Tomcat 6</title>
      <link>https://miroadamy.com/posts/2007-09-20-spring-example-petclinic-on-tomcat-6/</link>
      <pubDate>Thu, 20 Sep 2007 23:07:37 -0400</pubDate>
      
      <guid>https://miroadamy.com/posts/2007-09-20-spring-example-petclinic-on-tomcat-6/</guid>
      <description>&lt;p&gt;If you try to deploy one of the Spring 2 samples included in the Spring framework source distribution - Petclinic on Tomcat 6 (6.0.14), the web application does not get loaded and fails with errror. The cause is the ClassNotFound exception for the class org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader, more precisely:&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;&lt;br /&gt;&#xA;SEVERE: LifecycleException&lt;br /&gt;&#xA;java.lang.ClassNotFoundException: org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader&lt;br /&gt;&#xA;at java.net.URLClassLoader$1.run(Unknown Source)&lt;br /&gt;&#xA;at java.security.AccessController.doPrivileged(Native Method)&lt;br /&gt;&#xA;at java.net.URLClassLoader.findClass(Unknown Source)&lt;br /&gt;&#xA;at java.lang.ClassLoader.loadClass(Unknown Source)&lt;/code&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Java Web tools: Eclipse WTP, Netbeans and MyEclipse</title>
      <link>https://miroadamy.com/posts/2007-09-18-java-web-tools-eclipse-wtp-netbeans-and-myeclipse/</link>
      <pubDate>Tue, 18 Sep 2007 23:10:51 -0400</pubDate>
      
      <guid>https://miroadamy.com/posts/2007-09-18-java-web-tools-eclipse-wtp-netbeans-and-myeclipse/</guid>
      <description>&lt;p&gt;Part of the technology upgrade in the three Java based projects is also tool update. We have started with Eclipse version 1 and gradually moved up to the currently used Eclipse 3.0. The build and deployment process was based on custom written Ant build script, which compiled, created WAR, deployed, undeployed, run the tests, created source snapshot - you name it. The Eclipse was used mostly as editor and debugger - using JPDA talking to Tomcat started in debug mode.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Good book on Spring Framework version 2</title>
      <link>https://miroadamy.com/posts/2007-09-12-good-book-on-spring-framework-version-2/</link>
      <pubDate>Wed, 12 Sep 2007 22:36:00 -0400</pubDate>
      
      <guid>https://miroadamy.com/posts/2007-09-12-good-book-on-spring-framework-version-2/</guid>
      <description>&lt;p&gt;During my recent return to Javaland, I have noticed many improvements in newer releases of well established frameworks and toolkits, as well as many new ones. One such new release is version 2 of Spring framework. It is not really a hot news, because the final version of 2.0 is out for almost a year (October 2006), but it is new to me, because I spend pretty much all of last 12 months in DotNet, C# and OLAP worlds, with only brief visits to older Struts based, Spring-free Java projects.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Fresh cup of Java</title>
      <link>https://miroadamy.com/posts/2007-09-06-fresh-cup-of-java/</link>
      <pubDate>Thu, 06 Sep 2007 22:28:40 -0400</pubDate>
      
      <guid>https://miroadamy.com/posts/2007-09-06-fresh-cup-of-java/</guid>
      <description>&lt;p&gt;Hi, all Java gurus inside and outside of &lt;a href=&#34;http://www.thinknostic.com/&#34; target=&#34;_blank&#34;&gt;Thinknostic&lt;/a&gt; - I have a very interesting problem. Imagine the following situation: we have three existing Java Web applications, written back in 2000/2001, based on open source libraries of that time: Struts 0.9/1.0 and JSP 1.x (no JSTL) with Tiles for Web layer, Apache Torque for ORM, early version of Quartz for job scheduling, Jasper Reports for PDF reports and Freemarker as template engine for email creation. The application has been (and still is) in production for almost 7 years and works great. Now the customer is expanding the functionality and wants add several Ajax features - in short, version 2.0 is on the table.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Netbeans Ruby IDE - great tool getting even better !</title>
      <link>https://miroadamy.com/posts/2007-06-24-netbeans-ruby-ide-great-tool-getting-even-better/</link>
      <pubDate>Sun, 24 Jun 2007 23:08:11 -0400</pubDate>
      
      <guid>https://miroadamy.com/posts/2007-06-24-netbeans-ruby-ide-great-tool-getting-even-better/</guid>
      <description>&lt;p&gt;I have spent last two days (and few evenings before) playing with Rails and using &lt;a href=&#34;http://www.netbeans.org/products/ruby/&#34; target=&#34;_blank&#34;&gt;Netbeans Ruby IDE.&lt;/a&gt; What a great experience ! Unlike before, it is so much easier to have really good debugger that allows put breakpoints not only into the Ruby code in controllers and model - but even into the RHTML view files !&lt;/p&gt;&#xA;&lt;p&gt;Netbeans team works hard on improving the tool. With &lt;a href=&#34;http://deadlock.netbeans.org/hudson/job/ruby/&#34; target=&#34;_blank&#34;&gt;latest build &lt;/a&gt;- 2434, I have noticed great addition - Rails console. The IDE had IRB window even before, but the environment did not load the Rails context and would not recognize e.g. ActiveRecord. Now with latest build, everything works like charm.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>MSDN Documentation - the follow up</title>
      <link>https://miroadamy.com/posts/2007-06-15-msdn-documentation-the-follow-up/</link>
      <pubDate>Fri, 15 Jun 2007 20:01:02 -0400</pubDate>
      
      <guid>https://miroadamy.com/posts/2007-06-15-msdn-documentation-the-follow-up/</guid>
      <description>&lt;p&gt;Judging by the number of hits, Joel (and myself) are not the only people who would like to see nicer, better and faster MSDN documentation. As a very nice surprise,  some of the feedback came directly from the people than actually can do something about it - like Darren Parker from Microsoft and Anand Raman from the Sandcastle project. Rob Relyea  suggested and &lt;a href=&#34;http://xamlt.com/&#34; target=&#34;_blank&#34;&gt;interesting looking tool&lt;/a&gt; based on XAML.&lt;/p&gt;&#xA;&lt;p&gt;Thanks everybody - it is always nice to find out that even &lt;a href=&#34;http://www.microsoft.com/&#34; target=&#34;_blank&#34;&gt;really big companies&lt;/a&gt; listen to the developers and want to address the problems. It almost feels like OpenSource experience where (it was few years back) we have encountered an issue in one of many Java templating libraries, posted to discussion group a question and few hours + several emails later had patch for the bug from the library creator :-). But back to the topic.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>MSDN Documentation - the worst in class ?</title>
      <link>https://miroadamy.com/posts/2007-06-14-msdn-documentation-the-worse-in-class/</link>
      <pubDate>Thu, 14 Jun 2007 22:41:36 -0400</pubDate>
      
      <guid>https://miroadamy.com/posts/2007-06-14-msdn-documentation-the-worse-in-class/</guid>
      <description>&lt;p&gt;Did it ever happened to you that you were using some tool day after day - and never realized it&#39;s pretty big deficiencies ? Until somebody, coming from different background pointed out what everything is wrong with the tool ? Before that moment of revelation,  the issues were just inconvenience, but right after that they became real annoyance ?&lt;/p&gt;&#xA;&lt;p&gt;Exactly this happened to me last week and the credit for pointing out what is wrong with MSDN documentation (and the &#34;standard&#34; .NET documentation format in general) goes to Joel :-)&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Swing-ing back - to Netbeans</title>
      <link>https://miroadamy.com/posts/2007-06-11-swing-ing-back-to-netbeans/</link>
      <pubDate>Mon, 11 Jun 2007 22:22:35 -0400</pubDate>
      
      <guid>https://miroadamy.com/posts/2007-06-11-swing-ing-back-to-netbeans/</guid>
      <description>&lt;p&gt;It has been quite some time since I used a Swing based Java application. Compared to beauty and close-to-native feeling of Eclipse based application, Swing just did not feel right - it looked differently and behaved a bit differently. For long time, my desktop was Swing-free (not counting the JDK demo). Not any more, though.&lt;/p&gt;&#xA;&lt;p&gt;What made me to reconsider, is new release of the Netbeans v 6. In the latest milestone builds (M6 to M9), Netbeans team built amazing Ruby development environment. Compared to Ruby plugin in Eclipse, it has way more functionality, better debugging, really impressive editing support and very cool Rails extensions. The full description of new features is &lt;a href=&#34;http://wiki.netbeans.org/wiki/view/Ruby&#34; target=&#34;_blank&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>DHH on RIA</title>
      <link>https://miroadamy.com/posts/2007-05-24-dhh-on-ria/</link>
      <pubDate>Thu, 24 May 2007 20:46:02 -0400</pubDate>
      
      <guid>https://miroadamy.com/posts/2007-05-24-dhh-on-ria/</guid>
      <description>&lt;p&gt;DHH is (obviously) &lt;a href=&#34;http://en.wikipedia.org/wiki/David_Heinemeier_Hansson&#34; target=&#34;_blank&#34;&gt;David Heinemeier Hansson&lt;/a&gt; (the creator of Rails) and RIA (in this context) means &lt;em&gt;Rich Internet Applications&lt;/em&gt;. And here is the quote:&lt;/p&gt;&#xA;&lt;blockquote&gt;&lt;p&gt;I think there&#39;s always room for new ideas, but I don&#39;t think that the whole fuss that&#39;s currently going on about RIA, rich Internet applications, is justified. I think we&#39;ve been through this cycle so many times before that it in some ways amazes me how history seems to be ignored. We went through this with Java applets, they were going to rule the Web. Everything was going to be in a Java applet. HTML and CSS is history. And Flash came around, and Flash started focusing on applications. Now Flash is going to rule the Web and HTML and so on is yesterday. Now, &lt;a href=&#34;http://www.microsoft.com/silverlight/default01.aspx&#34; target=&#34;_blank&#34;&gt;Silverlight&lt;/a&gt;, &lt;a href=&#34;http://labs.adobe.com/technologies/apollo/&#34; target=&#34;_blank&#34;&gt;Apollo&lt;/a&gt;, &lt;a href=&#34;http://www.sun.com/software/javafx/&#34; target=&#34;_blank&#34;&gt;JavaFX&lt;/a&gt;, they&#39;re all bidding to take over the JavaScript, HTML and CSS [spaces], and I just don&#39;t buy it. I don&#39;t buy that developers by and large are going to jump into a proprietary technology and replace what HTML and CSS has given them.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>New kid on the block in race to be Flash killer</title>
      <link>https://miroadamy.com/posts/2007-05-12-new-kid-on-the-block-in-race-to-be-flash-killer/</link>
      <pubDate>Sat, 12 May 2007 22:27:42 -0400</pubDate>
      
      <guid>https://miroadamy.com/posts/2007-05-12-new-kid-on-the-block-in-race-to-be-flash-killer/</guid>
      <description>&lt;p&gt;After Adobe&#39;s &lt;a href=&#34;http://labs.adobe.com/wiki/index.php/Apollo&#34;&gt;Apollo&lt;/a&gt; and Microsoft&#39;s &lt;a href=&#34;http://www.microsoft.com/silverlight/default01.aspx&#34; target=&#34;_blank&#34;&gt;Silverlight&lt;/a&gt;, Sun has addes own version of scriptable, interactive platform named &lt;a href=&#34;http://www.sun.com/software/javafx/index.jsp&#34; target=&#34;_blank&#34;&gt;JavaFX&lt;/a&gt;. Unlike the previous three (Flash included), this is going to be Open Sourced - under the Microsoft&#39;s most hated license - GPL.&lt;/p&gt;&#xA;&lt;p&gt;Now the race to replace Flash  really becomes  really interesting ...&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Upgrading Java and Open Source libraries</title>
      <link>https://miroadamy.com/posts/2007-03-28-upgrading-java-and-open-source-libraries/</link>
      <pubDate>Wed, 28 Mar 2007 21:28:22 -0400</pubDate>
      
      <guid>https://miroadamy.com/posts/2007-03-28-upgrading-java-and-open-source-libraries/</guid>
      <description>&lt;p&gt;As Murphy said - you cannot do just one thing. Thanks to JDK 1.4 entering end-of-life support period (and 1.3 being unsupported for some time), we need to move few applications happily running on these antique Java platforms to at least Java 5 and gain few more years of uninterrupted Sun-supported life.&lt;/p&gt;&#xA;&lt;p&gt;Upgrading the applications was as expected, piece of cake - as long as you have solid build environment with build scripts and everything - which we certainly do. Ant runs on Java5 exactly as well as on 1.4 (maybe faster, but I did not measure), Tomcat was the same no-brainer thing and switching the Eclipse required only selecting different JRE in preferences window. Codewise, the only change required inside the application code was renaming few identifiers to something else than &lt;em&gt;enum&lt;/em&gt;, which happens to be keyword in Java 5.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Ode on Eclipse :-)</title>
      <link>https://miroadamy.com/posts/2007-03-27-ode-on-eclipse/</link>
      <pubDate>Tue, 27 Mar 2007 20:52:31 -0400</pubDate>
      
      <guid>https://miroadamy.com/posts/2007-03-27-ode-on-eclipse/</guid>
      <description>&lt;p&gt;After almost two years of uninterrupted C# and .NET development, I have got back for few days to Java world. One of our old customers asked us to do few enhancements and changes in the application we wrote. And because we always stand behind our work, always do answer the call for help and do support our customers as long as they want to be supported, I have squeezed-in few days worth of work into pretty packed schedule. So here am I on a short detour into world of class files and jars ...&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Vista security and Java</title>
      <link>https://miroadamy.com/posts/2006-12-26-vista-security-and-java/</link>
      <pubDate>Tue, 26 Dec 2006 20:44:11 -0500</pubDate>
      
      <guid>https://miroadamy.com/posts/2006-12-26-vista-security-and-java/</guid>
      <description>&lt;p&gt;I had a brief MSN chat with friend of mine today, who tried to install and use Vista as development platform. I mean install on the real hardware, in order to use it as core operating system. I have no feedback yet on how Visual Studio works, but as he found out, his &lt;a href=&#34;http://ant.apache.org/&#34;&gt;Ant &lt;/a&gt;build files he uses to compile and deploy Java programs stopped working - because Vista did not allow to copy Javascript files. I can understand why Javascript files are treated with caution - however, it should not be considered the same when a file is copied from a local file to a local file, rather then downloaded from the internet.&lt;/p&gt;</description>
      
    </item>
    
  </channel>
</rss>
