<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-30622033</atom:id><lastBuildDate>Sat, 31 Aug 2024 18:27:49 +0000</lastBuildDate><category>Netbeans</category><category>Plugin</category><category>archive</category><title>MyTech</title><description>All about my work, learnings from them and my musings</description><link>http://manikantannaren-mytech.blogspot.com/</link><managingEditor>noreply@blogger.com (Manikantan Naren)</managingEditor><generator>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-30622033.post-4211933859868149428</guid><pubDate>Wed, 13 Aug 2008 11:25:00 +0000</pubDate><atom:updated>2008-08-13T17:46:59.058+05:30</atom:updated><title>Netbeans6.1 Plugin - Export as archive version 1.02.1</title><description>&lt;span style=&quot;;font-family:trebuchet ms;font-size:85%;&quot;  &gt;Read all about the &lt;a href=&quot;http://manikantannaren-mytech.blogspot.com/2008/06/my-first-netbeans61-plugin.html&quot;&gt;Export as archive version 1.01.1.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In this version I have provided a dialog to choose the archive name and the folder in which the archive has to be created. The rest is the same.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicrblGQIe-JVfyLmVvvlHV7z1iU5kMoHQtjnhY9b_RPQZdigE0I7LRjre9xthCumduMI-xKnZV0qhufRoqQxiIZsOFoyAnzEDCjG8sYmq93990wPuX5TWssxnQQICEmksAUVRkcA/s1600-h/Archvie+settings_dialog.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicrblGQIe-JVfyLmVvvlHV7z1iU5kMoHQtjnhY9b_RPQZdigE0I7LRjre9xthCumduMI-xKnZV0qhufRoqQxiIZsOFoyAnzEDCjG8sYmq93990wPuX5TWssxnQQICEmksAUVRkcA/s400/Archvie+settings_dialog.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5233962936820185410&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/span&gt; &lt;span style=&quot;;font-family:trebuchet ms;font-size:85%;&quot;  &gt;&lt;br /&gt;I have a question from users&lt;br /&gt;1. Is the dialog neccessary&lt;br /&gt;2. If not all the time, would a check box &quot;Don&#39;t show dialog again&quot; suffice&lt;br /&gt;&lt;br /&gt;Do provide your comments.&lt;br /&gt;&lt;/span&gt;</description><link>http://manikantannaren-mytech.blogspot.com/2008/08/netbeans61-plugin-export-as-archive.html</link><author>noreply@blogger.com (Manikantan Naren)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicrblGQIe-JVfyLmVvvlHV7z1iU5kMoHQtjnhY9b_RPQZdigE0I7LRjre9xthCumduMI-xKnZV0qhufRoqQxiIZsOFoyAnzEDCjG8sYmq93990wPuX5TWssxnQQICEmksAUVRkcA/s72-c/Archvie+settings_dialog.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-30622033.post-1426745726031616998</guid><pubDate>Wed, 11 Jun 2008 10:48:00 +0000</pubDate><atom:updated>2008-08-11T11:44:11.641+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Netbeans</category><category domain="http://www.blogger.com/atom/ns#">Plugin</category><title>Netbeans6.1 Plugin - Use System Desktop</title><description>&lt;span style=&quot;;font-family:trebuchet ms;font-size:85%;&quot;  &gt;This plugin taps into the potential of&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-weight: bold; color: rgb(51, 51, 255);&quot;&gt;java.awt.Desktop&lt;/span&gt; and allows users to open/edit, view in browser and send by mail the selected node. the caveats are as follows.&lt;br /&gt;&lt;br /&gt;1. Behaviour is not guaranteed to be as expected. For example browse and open can do the same thing - open in the default editor. My testing has shown that only html and xml files open properly in browser.&lt;br /&gt;2. Mail - Selected file is not intriduced as an attachment since the mailto protocol does not support attachments.&lt;br /&gt;3. There are no options to set. What ever is set on the operating system will be used.&lt;br /&gt;4. When file association are not set; For example for manifest.mf file there might not be a file association. In these case you get an IOException which is shown to the user.&lt;br /&gt;5. Works with Netbeans 6.1 and JDK6 only&lt;br /&gt;6. Tested Platforms - Netbeans 6.1 and JDK6 Update 10 on Windows XP&lt;br /&gt;7. BIG NOTE: If an application is not associated with the given file. it does not bring up the &quot;Open With&quot; dialog&lt;br /&gt;&lt;br /&gt;Screen Shots&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcxPMcIT5vIiAm_9Q2uZaBkNyhTHghsob-tutl7C4HGOvsDvPnoNxXPe1gEq3DlgJC4Rff8WidVsKsIFTIiF-Q3K_l595_XeCHwHQ3h4bxMj-Jerxnq8P4sivt5Nl4Lku-jLcy5A/s1600-h/ScreenShot.JPG&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcxPMcIT5vIiAm_9Q2uZaBkNyhTHghsob-tutl7C4HGOvsDvPnoNxXPe1gEq3DlgJC4Rff8WidVsKsIFTIiF-Q3K_l595_XeCHwHQ3h4bxMj-Jerxnq8P4sivt5Nl4Lku-jLcy5A/s400/ScreenShot.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5210575682127917218&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; color: rgb(204, 0, 0);font-family:trebuchet ms;font-size:85%;&quot;  &gt;Note: This plugin is not supported for NB with Java 5&lt;br /&gt;if installed with Java 5, then you see an empty menu under Tools--&gt;Desktop&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: trebuchet ms;font-family:trebuchet ms;font-size:85%;&quot;  &gt;The plugin is now available from within the Plugin manager.&lt;/span&gt;&lt;span style=&quot;font-weight: bold; color: rgb(204, 0, 0);font-family:trebuchet ms;font-size:85%;&quot;  &gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvZpfovi_5cbnTfoIHpIVRg_WqqAPMlYEfFtNJVl8cLjsivi-hckPEnG7RxWD3kY2xf6SL11wuJv1kootzcPO4Kshr2NpXJFG7x70KCuhuRkb9fKTT2VSAT5qrvBxVC4K_z7DObw/s1600-h/Useless.JPG&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvZpfovi_5cbnTfoIHpIVRg_WqqAPMlYEfFtNJVl8cLjsivi-hckPEnG7RxWD3kY2xf6SL11wuJv1kootzcPO4Kshr2NpXJFG7x70KCuhuRkb9fKTT2VSAT5qrvBxVC4K_z7DObw/s400/Useless.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5220579543218676562&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</description><link>http://manikantannaren-mytech.blogspot.com/2008/06/netbeans61-plugin-use-system-desktop.html</link><author>noreply@blogger.com (Manikantan Naren)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcxPMcIT5vIiAm_9Q2uZaBkNyhTHghsob-tutl7C4HGOvsDvPnoNxXPe1gEq3DlgJC4Rff8WidVsKsIFTIiF-Q3K_l595_XeCHwHQ3h4bxMj-Jerxnq8P4sivt5Nl4Lku-jLcy5A/s72-c/ScreenShot.JPG" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-30622033.post-8253811974099140490</guid><pubDate>Thu, 05 Jun 2008 04:25:00 +0000</pubDate><atom:updated>2008-08-13T16:54:54.258+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">archive</category><category domain="http://www.blogger.com/atom/ns#">Netbeans</category><category domain="http://www.blogger.com/atom/ns#">Plugin</category><title>Netbeans6.1 Plugin - Export as archive</title><description>&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;Netbeans has been a fascination for me. Ere it was Forte For Java which was then rechristened as sun java studio. Those were the days. Then Netbeans 5.0 happened. It was time to bid adieu to  Java studio. In my current place of work, I am the source of frustration and amusement to many people since I am the only one to use Netbeans when the rest of the organisation is eclipse based. So you can see that friction is high because I am one against many in a debate on which is better - Netbeans or Eclipse. (&lt;a href=&quot;http://manikantannaren-mytech.blogspot.com/2008/01/my-experiences-with-netbeans.html&quot;&gt;see my previous post&lt;/a&gt; on why I find Netbeans as a better option). In one such debate came the notion of export as. Eclipse has many options for their Export As feature. But Netbeans does not. And so this plugin.&lt;/span&gt;&lt;br /&gt;&lt;div  style=&quot;text-align: justify;font-family:trebuchet ms;&quot;&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;You can download the plugin from the netbeans plugin portal &lt;/span&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;&lt;a href=&quot;http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=10235&quot;&gt;Export as archive. &lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;It is not available in the Plugin-manager now pending verification. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;Supported Platform - Netbeans 6.1&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;You can click the Download button on the banner to the left to get Netbeans.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;Plugin details -&lt;br /&gt;The source code is available at &lt;a href=&quot;http://nb61plugineas.svn.sourceforge.net/viewvc/nb61plugineas/ExportAsArchive&quot;&gt;http://nb61plugineas.svn.sourceforge.net/viewvc/nb61plugineas/ExportAsArchive&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;Now for the interesting parts.&lt;/span&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;The action extends from CookieAction and Over-rides two methods of interest&lt;/span&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul  style=&quot;text-align: justify;font-family:trebuchet ms;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;performAction(Node[] activatedNodes)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;enable(Node[] activatedNodes).&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div  style=&quot;text-align: justify;font-family:trebuchet ms;&quot;&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;first the enable method&lt;/span&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;This ensures if for a selected node the export option should be enabled or not. I would have preferred along with that a visible option. But since that is not available will survive with it though. So the way I am enabling the option is checking with the DataObject. If the DataObject does not have a primary file, then don&#39;t enable other wise enable it.&lt;/span&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;performAction method - delegates call to a simple private method.&lt;/span&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;This method picks up the primary file from the DataObject, constructs an Ant Script. The idea of using an Ant Script was inspired by &lt;a href=&quot;http://blogs.sun.com/geertjan/entry/zipping_a_suite_s_nbm&quot;&gt;Geertjan&#39;s blog&lt;/a&gt;. Earlier I used a grossly inefficient way - traversing  directories and adding them to a Zip stream.&lt;/span&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;Steps to create such a Plugin&lt;/span&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;1. Create a New Project - Choose Netbeans Module--&gt;Module&lt;/span&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwtkROouJU9Peu6l5lZ-TaUwlAR26mi-dP4hSwQnDnSSvOfT5ofeJRrKccT4EUXbw4I7ztjiprDWvaDcTGfPfKjCzkob9bJwldwu_hvPXvcZoWz6LN7UJ8xhGwrxDXP_Sso94tRA/s1600-h/new+Project.JPG&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwtkROouJU9Peu6l5lZ-TaUwlAR26mi-dP4hSwQnDnSSvOfT5ofeJRrKccT4EUXbw4I7ztjiprDWvaDcTGfPfKjCzkob9bJwldwu_hvPXvcZoWz6LN7UJ8xhGwrxDXP_Sso94tRA/s400/new+Project.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5208279588559584322&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;2. In the next screen fill up the entries but ensure that the Standalone radio button is selected.&lt;/span&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;Tis marked in a red box.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFALt8VoN2xReMRrv4igzHgzsbVkI0yR2iybAVHFbDUPBr622z-Jy4XDyN9UvGyDpOyW4OHdplPEtf6ZjZiX0GFmxMJqd4D9xQRCEX1RLee_Hu-TxWKZf3WYB30SMAgi31uc1RTw/s1600-h/Standalone.JPG&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFALt8VoN2xReMRrv4igzHgzsbVkI0yR2iybAVHFbDUPBr622z-Jy4XDyN9UvGyDpOyW4OHdplPEtf6ZjZiX0GFmxMJqd4D9xQRCEX1RLee_Hu-TxWKZf3WYB30SMAgi31uc1RTw/s400/Standalone.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5208279923567033426&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;div  style=&quot;text-align: justify;font-family:trebuchet ms;&quot;&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;3. Finish the wizard.&lt;/span&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;4. Click on the Project and Select New (Bring up the New File wizard)&lt;/span&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisGrWBTpa6tV3vGtLGVaqylbEnDbdkUItA98VpJc6DIOKm2LBSdx5r7tY1flKyi89sB48wv7BSEKXJSXTs1CVDvtNab3_2ekPtGUx7ajLP3DMOT0YXyqQZo9sMJKp2JJd6aL1TDw/s1600-h/Action.JPG&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisGrWBTpa6tV3vGtLGVaqylbEnDbdkUItA98VpJc6DIOKm2LBSdx5r7tY1flKyi89sB48wv7BSEKXJSXTs1CVDvtNab3_2ekPtGUx7ajLP3DMOT0YXyqQZo9sMJKp2JJd6aL1TDw/s400/Action.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5208280249984547938&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;5. Select Conditionally Enabled  radio button and DataObject from the dropdown/combo box&lt;br /&gt;&lt;/span&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0YSn2GoGMvcqRUovwtPgbVF9gOh9Ea3inHHLEjqRu0moouGfzhkFxeWO0X53hCUsQBoMORdZOD9uwVubJIUxkY6WGhyyRfRgyHQqQJhdWF3sBv6EyIZN37dIOeAkzC-EfkbBmAA/s1600-h/selection.JPG&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0YSn2GoGMvcqRUovwtPgbVF9gOh9Ea3inHHLEjqRu0moouGfzhkFxeWO0X53hCUsQBoMORdZOD9uwVubJIUxkY6WGhyyRfRgyHQqQJhdWF3sBv6EyIZN37dIOeAkzC-EfkbBmAA/s400/selection.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5208280413193305202&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;6. In the next screen you can choose any combinations&lt;/span&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEis9coQYKCoiYP4zNiseTHGpDNY2KUrkdlaXBHIottB5LHyUc5WcsrInT0LCD_TWZRCKFc7HWU3nj_3t85Fxmmuh8vyDtf5EbtKl61EFCqLbhSH8VpDfkn-wh1vS700_wsq65u3mQ/s1600-h/menuoptions.JPG&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEis9coQYKCoiYP4zNiseTHGpDNY2KUrkdlaXBHIottB5LHyUc5WcsrInT0LCD_TWZRCKFc7HWU3nj_3t85Fxmmuh8vyDtf5EbtKl61EFCqLbhSH8VpDfkn-wh1vS700_wsq65u3mQ/s400/menuoptions.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5208280537747356802&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;7. Complete the wizard steps. &lt;/span&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;8. Provide implementation for the performAction method.&lt;/span&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;Simple 8 steps.&lt;/span&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;What to expect in future? For now I am thinking of two things. You can pour in your views.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;1. Multiple Selected nodes (With restrictions of course)&lt;/span&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;2. Wizard like facility to choose destinations.&lt;/span&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:78%;&quot;  &gt;Enjoy archiving your projects.&lt;/span&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold; color: rgb(204, 0, 0);font-family:trebuchet ms;font-size:85%;&quot;  &gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://manikantannaren-mytech.blogspot.com/2008/06/my-first-netbeans61-plugin.html</link><author>noreply@blogger.com (Manikantan Naren)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwtkROouJU9Peu6l5lZ-TaUwlAR26mi-dP4hSwQnDnSSvOfT5ofeJRrKccT4EUXbw4I7ztjiprDWvaDcTGfPfKjCzkob9bJwldwu_hvPXvcZoWz6LN7UJ8xhGwrxDXP_Sso94tRA/s72-c/new+Project.JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-30622033.post-202142534618286133</guid><pubDate>Fri, 25 Jan 2008 08:59:00 +0000</pubDate><atom:updated>2008-01-25T15:26:43.155+05:30</atom:updated><title>my Experiences with Netbeans</title><description>&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;For a long time I was enamoured by Forte For Java with their broken App theme. Then I gave up with Netbeans turning out to be lighter and swifter. Since that time I have been developing with Netbeans much to the amusement and sometime frustration of my colleagues who use Eclipse. I have worked with eclipse enough time to hate it. I hate it all the more when it gives me OutOfmemory error when I run a build using ANT. But I digress. The objective of this blog is not to make Netbeans look good by describing Eclipse as bad.&lt;br /&gt;&lt;br /&gt;What role does an IDDE play in the development life cycle?&lt;br /&gt;&lt;br /&gt;Most of the time an IDDE is linked with DnD type of programming suitable for GUI building. But an IDDE is more than that. The following are what I looked for and got from Netbeans (6 being the best till date).&lt;br /&gt;&lt;br /&gt;1. No Spoon feeding - Let the IDDE make me write code related to business need and prevent me from templates and boiler plates. Netbeans does not provide different types of code templates like what Eclipse does. For ex. in Eclipse if I type test and use ctrl+space it gives me a lot of options. Netbeans does not do that. (10 for Eclipse, -1 for Netbeans)&lt;br /&gt;&lt;br /&gt;2. The IDDE should be very responsive. A user action should result in near-immediate response. For ex. If i do a ctrl+space, my IDDE should not go into a Zombie state and hang for a long time or worse crash. (10 for Netbeans, -1 for eclipse)&lt;br /&gt;&lt;br /&gt;3. Bare platform should be sufficient. It is wrong to assume that a desktop/library developer would not be needing web components. In Eclipse you need to pull in plugins and additional things, cross your fingers, toes, hands and legs and pray that this would work. Netbeans gives it to me without much ado. - No plugins needed. (10 For Netbeans, -5 for Eclipse)&lt;br /&gt;&lt;br /&gt;4. User Interface and accessibility. Less said about eclipse, the better. Sad part is NB6 has moved a little in the eclipse direction. Most of the key board short cuts have changed and it needed some trying around to figure out how to get the NB 5 Keyboard mappings. Eclipse Debug window is a pain. To add a watch statement, I need to right click on the breakpoint and select a menu option. Pain!!!&lt;br /&gt;(Would have given 10 to Netbeans but they deserve to be punished for the Key mapping fiasco. So for this I give 5 to Netbeans and -1 to Eclipse)&lt;br /&gt;&lt;br /&gt;5. Bloated workspace: I hate the concept of the workspace in eclipse. Every time I create a workspace, I need to give a lot of MBs for the .metadata folder. Check the properties of that folder any time and you would wonder, why do I need plugins in my workspace when my eclipse installation has it. Change settings in the workspace and when I move to a new workspace, I need to change the same settings again? Why? In my 10 years of working with technology I never found a need for such a feature. Netbeans use XML to maintain the information instead of copying needed plugins to the workspace. Infact there is no concept of workspace in netbeans. &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;(10 for Netbeans and -1 for Eclipse).&lt;br /&gt;&lt;br /&gt;6. If there was one feature in Eclipse which I liked very much was the CVS feature. Netbeans 5 was pathetic in terms of diff, commiting etc. But with NB 6, Netbeans has thrashed eclipse soundly. ( So 5 for Netbeans and 10 for Eclipse for getting it right earlier)&lt;br /&gt;&lt;br /&gt;7. Web tech debugging. Ever tried debugging a JSP in Eclipse, by just setting your break point and invoking the debugger.  In Netbeans I just need to do that. The time I saved by NB Debugger feature is legendary. (-1 for Eclipse, 10 for Netbeans). I would have given -10 for this feature to eclipse, but did not since it would seem vengeful.&lt;br /&gt;&lt;br /&gt;On a final note - Netbeans should be watchful that it does not fall into the trap of Eclipse of being unwieldy with nice features that dont work.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;&lt;br /&gt;&lt;br /&gt;So total Score&lt;br /&gt;Netbeans : 49&lt;br /&gt;Eclipse : 9&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;</description><link>http://manikantannaren-mytech.blogspot.com/2008/01/my-experiences-with-netbeans.html</link><author>noreply@blogger.com (Manikantan Naren)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-30622033.post-8405004182008968816</guid><pubDate>Fri, 01 Jun 2007 04:57:00 +0000</pubDate><atom:updated>2007-06-01T12:32:37.747+05:30</atom:updated><title>Travails with JMS on IBM websphere 6   %$#@*&amp;</title><description>&lt;span style=&quot;color: rgb(0, 0, 0);font-size:85%;&quot; &gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;When a programmer wants to check if his code/artifact would work across all containers, Websphere comes in to throw a spanner in the works. First you have to unlearn all that you have leached out from Websphere 5 (no good except for nostalgia). Second these are the problems you face during installation&lt;br /&gt;1. Something new - Profiles. you can create as many profiles as you want. If you have used Firefox, you would know about profiles.&lt;br /&gt;2. Then you do a host of updgrades - I guess if your server version shows 6.0.2.15, you do have a stable environment.&lt;br /&gt;3. JMS configurations have become a nightmare. I have an app which uses about 15 messaging destinations and you know what - using the destination names for your validations or logic is on websphere 6. What code works on Glassfish, JBoss, Weblogic is not guaranteed to work on Websphere simply because of many things which are as follows.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ol style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;Java Connector architecture - Learn the specs carefully&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;Buses - Start point for your JMS configuration&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;Bus Members - Create A bus and Add bus member - which is your server profile instance&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;When you create a Bus member a Messaging instance is created. Check that it is created and started. If the state is not started, a good idea is to restart web-sphere at this point. Even after restart if the engine is not started, then even God cannot help you. Delete the Bus. Stop websphere, go to the profiles_root/databases/com.ibm.ws.sib and delete the &lt;/span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;Something&lt;&lt;your&gt;&gt; directory &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;Start websphere and follow the process from 2 to 4 again till you get it right.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;Go to your Bus and configure your destinations -&lt;span style=&quot;font-weight: bold; color: rgb(204, 0, 0);&quot;&gt;(see also the note at the end)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;It is a good idea to restart websphere if you are unlucky yet again&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;Now go to the Resource\JMS and choose the particular messaging provider and configure your JNDI names for the destinations and connection factories.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;Do a test if are able to lookup the JNDI names properly. if the tests fail &lt;span style=&quot;font-weight: bold;&quot;&gt;restart &lt;/span&gt;websphere (yes once again) and retest. This should work. If not start again from Step 2&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;Hopefully by now, you must have got it.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:85%;&quot; &gt;Now for some more points which you should check for in your code or deployment.&lt;br /&gt;&lt;/span&gt;&lt;ol style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;If your have a code like - qConnection.stop- it wont work on websphere 6. You cannot stop connections, though you can still close sessions. Why is this restriction? The plain answer is &quot;I don&#39;t know&quot;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;Second when you have created a connection and are creating a session, if you get a time out error, restart the messaging engine in the Bus and try again. it should work. It did for me&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style=&quot;font-weight: bold; color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(204, 0, 0);&quot;&gt;A BIG NOTE&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;ol style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;Destinations and JNDI names and destination names&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;If any where you have the following type of code-&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new; font-style: italic;&quot;&gt;Destination _dest = jmsMessage.getReplyTo();&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new; font-style: italic;&quot;&gt;if(_dest instanceof Queue){&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new; font-style: italic;&quot;&gt;    ((Queue)_dest).getQueueName(); &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new; font-style: italic;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;((Queue)_dest).getQueueName()&lt;/span&gt;;&lt;/span&gt;  will not return the name you entered for the JMS queue in the messaging providers&#39; area;  instead you will get the name of the destination registered under your Bus. so if you had given a name as MYQ in the destination under the Bus and MYQueue for the JNDI and name under messaging provider&#39;s area,&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-style: italic;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;((Queue)_dest).getQueueName() &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: verdana;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;will return MYQ and not MYQueue&lt;br /&gt;Now why is this so. I too don&#39;t know. the J2EE specs also doesn&#39;t mention clearly what shoudl be returned by javax.jms.Queue#getQueueName()&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;    2. JNDI registration vis-a-vis Bus Destinations&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold; color: rgb(0, 0, 0);&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:85%;&quot; &gt;&lt;br /&gt;&lt;br /&gt;Take a look at the following configuration&lt;br /&gt;&lt;br /&gt;1. Destination under the Bus - MyQ&lt;br /&gt;&lt;br /&gt;2. JNDI under the Messaging Provider&#39;s area&lt;br /&gt;       Name : MyQueue1&lt;br /&gt;      JNDI &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:85%;&quot; &gt;Name : MyQueue1&lt;br /&gt;      BUS: MYBUS&lt;br /&gt;      Queue: MyQ&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:85%;&quot; &gt;      Name : MyQueue2&lt;br /&gt;      JNDI &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:85%;&quot; &gt;Name : MyQueue2&lt;br /&gt;      BUS: MYBUS&lt;br /&gt;      Queue: MyQ&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:85%;&quot; &gt;&lt;br /&gt;If you notice we have the same Bus destination as the Queue for two JNDI destinations.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-size:85%;&quot; &gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;Queue q1 = (Queue)jndiContext.lookUp(&quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:85%;&quot; &gt;&lt;span style=&quot;font-style: italic;font-size:85%;&quot; &gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;MyQueue1&quot;);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;q1.send(someJMSMessage);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;....some more steps&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;....Some more steps&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;(the above two steps finish in a very negligible processing machine time)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;q1.recieveNoWait();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and in the mean time somewhere else you are using a message listener on the Queue MyQueue2&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Who should recieve the message - the listener or the q1 instance - well really cannot say. My experience is that &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:85%;&quot; &gt;&lt;span style=&quot;font-style: italic;font-size:85%;&quot; &gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;q1.recieveNoWait(); &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: verdana;font-size:85%;&quot; &gt;gets the message. Now why is this so&lt;br /&gt;Names under Messaging Providers&#39; area are like logical handle to the the same physical location&lt;br /&gt;&lt;br /&gt;some thing like this.&lt;br /&gt;&lt;br /&gt;java.io.File one = new java.io.File(&quot;Some path&quot;);&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:85%;&quot; &gt;&lt;span style=&quot;font-family: verdana;font-size:85%;&quot; &gt;java.io.File&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:85%;&quot; &gt;&lt;span style=&quot;font-family: verdana;font-size:85%;&quot; &gt; two = new java.io.File(&quot;Some path&quot;);&lt;br /&gt;&lt;br /&gt;File objects one and two point to the same location.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So if you are having code like this, it is a good idea to configure different physical destination for each of the JNDI lookups.&lt;br /&gt;&lt;br /&gt;Phew. writing this is as traumatic an experience as configuring JMS on Websphere.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;Whats the point I am trying to make - as a app server provider, if you cannot make the life of a programmer easier (as a programmer expecting them to make it easier is foolhardy), do not make it more difficult than it is.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;It is not good if I only criticize, When it comes to JMS performance, nobody can beat Websphere default messaging and if you couple your app with MQ, then it is the best in the world when it comes to JMS performance.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CIAO, Enjoy Websphere.&lt;br /&gt;&lt;br /&gt;PS: I am yet to try Pramati. So judgement stands till I do so.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;</description><link>http://manikantannaren-mytech.blogspot.com/2007/05/travails-with-jms-on-ibm-websphere-6.html</link><author>noreply@blogger.com (Manikantan Naren)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-30622033.post-7685305750764335688</guid><pubDate>Tue, 27 Mar 2007 08:42:00 +0000</pubDate><atom:updated>2007-03-27T14:19:46.701+05:30</atom:updated><title>Which one is better: Java or VC++</title><description>&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: verdana;font-size:85%;&quot; &gt;Now that is one question I get and get from people and all along I am bored answering. I ask one question in return: &quot;have you worked on multi-thread programming?&quot; or &quot;network programming&quot; and then the person slinks away. So the answer to this is &quot;you are comparing watermelon to limes&quot; and when you do that you get no answers or pointers from the comparison. Secondly teachers have really spoiled people by bringing in &quot;pointers&quot; to the question. Well if you can&#39;t handle pointers properly and cleanly, then you are half-a-programmer. Programming is all about business implementations? yes and also good programming, effective programming, efficient programming. As the agile world says, the first solution you come up with is not necessarily the best solution. SO back to the discussion. Give me a choice I will jump back to C++ if I am doing systems level jobs. If I am into GUI, server side programming etc - Java is the winner.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://manikantannaren-mytech.blogspot.com/2007/03/which-one-is-better-java-or-vc.html</link><author>noreply@blogger.com (Manikantan Naren)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-30622033.post-115198687252321141</guid><pubDate>Tue, 04 Jul 2006 04:19:00 +0000</pubDate><atom:updated>2007-09-27T14:58:18.799+05:30</atom:updated><title>Some basics of Java which I regularly forget</title><description>&lt;ol&gt;&lt;li&gt;Real numbers are treated as double unless specifically flagged as float by marking the value with an &#39;F&#39;&lt;/li&gt;&lt;li&gt;java.io.File is a pointer to the file rather than a reference to its location and by itself does not encapsulate the physical file.&lt;/li&gt;&lt;li&gt;Integer values are treated as &lt;span style=&quot;font-style: italic;&quot;&gt;&quot;int&quot; &lt;/span&gt;rather than long,&lt;/li&gt;&lt;li&gt;so long micros = 24*60*60*1000*1000 would result in a value different from expectation. so flag the values with an &#39;L&#39; if you don&#39;t want them to be messed with&lt;/li&gt;&lt;li&gt;When using BigDecimal, pass a String representation of the double value rather than the double value to the constructor.&lt;/li&gt;&lt;li&gt;Use fill with GridBagLayout else the component won&#39;t occupy the grid area&lt;/li&gt;&lt;li&gt;painting is at two level, System event; when a component is added or removed and VM event; when a component is resized&lt;/li&gt;&lt;/ol&gt;</description><link>http://manikantannaren-mytech.blogspot.com/2006/07/some-basics-of-java-which-i-regularly.html</link><author>noreply@blogger.com (Manikantan Naren)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-30622033.post-115198654772759969</guid><pubDate>Tue, 04 Jul 2006 04:00:00 +0000</pubDate><atom:updated>2006-07-04T09:45:47.736+05:30</atom:updated><title>Why A tech blog</title><description>&lt;div style=&quot;text-align: justify;&quot;&gt;       Well I was finding it difficult to write into books with my &quot;genius&quot; handwritings about my explorations in the tech world. Problem was not the writing, problem was the lookup at a later date. I have this tenacious habit of dragging the last 2-3 characters of everyword into a straight line and the result-you can guess. So finally decided to overcome my shyness to blog. So this blog is about WORK; work as in findings and researches in the bread and jam arena. No musings about economics, psychology literature here. Only Technology and technology.&lt;br /&gt;         &lt;span style=&quot;font-style: italic;&quot;&gt;Some Introduction:&lt;/span&gt; I started as a C programmer, made an easy migration to C++ and then was lost for a JOB. So took up VB training, then did some work on graphics in Borland C++ and then Java hit the world. Learnt java on my own and with the help of quite a few mentors (Rajasekharam Sir, Jagan Sir, Durga Anna, Praveen, Prashant and a host of others- hope you are reading this). Started working with JDK1.0 and looking back makes you realise that Java programmers of today have it a lot more easier than my peers and me. But if asked to do it again all over, I would certainly do it. My advice to any programmer is this - &quot;Get your basics right&quot;. Basics as in 2+2 = 4 and 2*2 = 4 My work during Borland  C++ made me do matrices once again (something I thought I left behind when I took up commerce stream for graduation); only to hit me 4 years later. And then I realised that Mathematics is a must - commerce or engineering stream being immaterial. This is the second basic requirement. Not because of the cliche statment of &quot;Maths improves your logic etc&quot;. Logic my foot. More because programming is actually 2+2 and nothing more. Well not exactly ;)&lt;br /&gt;            Its been a long journey. Java has been my rozi-roti; so cannot ditch it and I ask all those who use eclipse, or netbeans or such IDDEs : &quot;Did you use to write code this in notepad or god-help-you DOS edit before using IDDEs?&quot; If the answer is no; then I would suggest you do that first. IDDEs really spoil the creativity of the beginners. I must say IDDEs are not for beginners.&lt;br /&gt;             I beg pardon, I write majority of my code in an advanced text editor - EditPlus.&lt;br /&gt;&lt;br /&gt;As days progress, I intend to publish my findings which people can use, share but not plagiarise since what I find might be actually a collation of other findings. And where possible I would credit the individual concerned and where not possible, I would address them as &lt;span style=&quot;font-weight: bold; font-style: italic;&quot;&gt;Angel benefactor unknown.&lt;br /&gt;   &lt;br /&gt;&lt;/span&gt;           &lt;br /&gt;&lt;span style=&quot;font-weight: bold; font-style: italic;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;Happy Coding&lt;/span&gt;&lt;span style=&quot;font-weight: bold; font-style: italic;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;</description><link>http://manikantannaren-mytech.blogspot.com/2006/07/why-tech-blog.html</link><author>noreply@blogger.com (Manikantan Naren)</author><thr:total>0</thr:total></item></channel></rss>