| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| <html> |
| <head> |
| <link rel="stylesheet" type="text/css" href="../../../netbeans.css" media="screen"> |
| <meta name="author" content="Tinuola Awopetu"> |
| <meta name="keywords" content="NetBeans IDE, Sun Code for Freedom Contest, RegEx Plugin, NetBeans Plugin Portal"> |
| <title>NetBeans Interview - Angad Singh, Grand Prize Winner of Sun India's Code for Freedom Contest</title> |
| </head> |
| |
| <body> |
| <h1>An Interview with Angad Singh, Grand Prize Winner of Sun India's |
| Code for Freedom Contest |
| </h1> |
| <br> |
| <br> |
| <h4><img src="../../../images_www/articles/interviews/angad-singh.jpg" |
| alt="Angad Singh" style="width: 175px; height: 225px;" align="left" |
| hspace="15" vspace="5">Angad, Congratulations on your win! Please tell us a bit about your background. |
| </h4> |
| I am a third-year undergraduate student pursuing a Bachelor's in |
| Information Technology at the Jaypee |
| Institute of Information Technology University, Noida, and also a Sun |
| Campus Ambassador. I'm a techie by nature and spend most of my time |
| learning and exploring new areas of computing. My interests include |
| web application development, computer vision and graphics, server |
| administration and robotics. |
| <br> |
| <br> |
| I believe in the power of community, |
| and as a Campus Ambassador I share my knowledge and skill of |
| open-source technologies with fellow students by conducting tech |
| talks, demos and workshops. My connection with Sun Microsystems has |
| been truly rewarding, and I <a href="http://blogs.sun.com/angad/">blog</a> |
| often about my activities.<br> |
| <br> |
| <h4> |
| You are one of three grand prize winners of <a |
| style="font-weight: bold;" |
| href="http://in.sun.com/communities/univ/codeforfreedom/">Sun India's |
| Code for Freedom contest</a>. Your project was a plugin created for the |
| NetBeans IDE! What does your plugin do? |
| </h4> |
| My |
| NetBeans plugin: <a |
| href="http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=5825"><span |
| style="font-weight: bold;">Regular Expression Plugin</span></a>, or <span |
| style="font-weight: bold;">RegEx</span>, |
| makes it simple to visually learn, build and test regular |
| expressions. It's an easy-to-use, all-in-one solution that helps |
| developers in all aspects of working with regular expressions. |
| <br> |
| <br> |
| A little background on regular expressions: Regular |
| expressions are a way to describe a set of strings based on |
| common characteristics shared by each string in the set. Regular |
| expressions are patterns that can be used to search, edit, or |
| manipulate text and data.<br> |
| <br> |
| The plugin can be downloaded from the <a |
| href="http://plugins.netbeans.org/PluginPortal/">NetBeans Plugin Portal</a>. |
| To |
| open the regular expressions plugin window in the NetBeans IDE, go to |
| <span style="font-style: italic;">Tools > Regular Expressions Plugin</span>. |
| <br> |
| I also created a demo highlighting the features of the |
| pluginshowing how to build and test a regular expression for |
| checking email addresses. The screencast can be viewed on <a |
| href="http://netbeans.tv/screencasts/Regular-Expressions-Plugin-306/">NetBeans.tv</a>.<br> |
| <br> |
| <h4>What are the main |
| features of your plugin? |
| </h4> |
| <a href="../../../images_www/articles/regex-plugin.jpg"><img |
| alt="Regular Expression Plugin for NetBeans IDE" |
| src="../../../images_www/articles/regex-plugin-thumb.jpg" |
| style="border: 0px solid ; width: 306px; height: 393px;" align="right" |
| hspace="10" vspace="10"></a>Building a regular expression is as easy |
| as browsing the built-in |
| regular expressions language reference, double clicking on the |
| language elements to insert them into your regular expression. It also |
| allows you to search a regular expression pattern in the input text and |
| see the results in a tree view; to click on match results to see the |
| matched text highlighted. The plugin is very useful for new developers |
| and gets them up to speed quickly. More information about features of |
| the RegEx plugin can be found at the NetBeans Plugin Portal.<br> |
| <br> |
| <h4>How long have you |
| been using the NetBeans IDE? |
| </h4> |
| I have used NetBeans for a year since I shifted from Java Studio |
| Creator |
| 2the project got discontinued and the Visual Web editing features |
| got merged into the IDE as the Visual Web Pack. I started |
| using NetBeans for web-based projects in JSP. My favorite features are |
| the GUI Builder, the Profiler, the Visual Web and Mobility |
| Packs. Perhaps, the best feature of NetBeans (and not just the |
| IDE) is its ability to act as a platform for building Rich Client |
| Applications.<br> |
| <br> |
| <h4>Is this your |
| first plugin for NetBeans? |
| </h4> |
| Yes, |
| it is. A month before the Code for Freedom contest ended, my Sun |
| Club team and I had taken the initiative to offer support to aspiring |
| contestants, to help them make good plugin contributions. We held |
| regular meetings and brainstorming sessions where we offered guidance |
| for the inception of ideas, navigating contest guidelines, submitting |
| contributions and so on. I conducted hands-on workshops about the |
| features one could leverage while developing plugins for the NetBeans |
| IDE. I learnt and developed my first plugin along the way.<br> |
| <br> |
| <h4>What inspired you |
| to create the RegEx Plugin? |
| </h4> |
| I sought to develop this tool because one |
| didn't exist in the NetBeans IDE. I had checked out the NetBeans |
| Plugins Portal and <a |
| href="https://netbeans.org/projects/contrib/downloads?folderID=0">NetBeans |
| contrib project</a> page and discovered two plugins that dealt with |
| regular expressions but supported only some aspects of what I had in |
| mind. A more powerful tool was possible. I discussed the idea on the <a |
| href="mailto:nbdev@netbeans.org">nbdev@netbeans.org</a> |
| mailing list and received enthusiastic responses for the plugin and |
| suggestions for features it should have. Thus, I started and tried to |
| incorporate as many of the suggested features as possible.<br> |
| <br> |
| <h4>What stood out |
| for you while developing the plugin? |
| </h4> |
| That the true power of NetBeans lies in |
| a community that drives and supports it! Whenever I got stuckfor |
| example, not knowing how to use a specific API featurehelp was |
| just a search away. NetBeans.org provides links to lots of useful |
| tips & tricks, tutorials and an extensive community-driven |
| documentation courtesy of the <a href="http://wiki.netbeans.org/">NetBeans |
| Wiki</a>. If you cannot find the |
| solution on the web, you can post a query to mailing lists and rest |
| assured get a swift reply.<br> |
| <br> |
| <h4>What advice do |
| you have to share with those creating a plugin for the first time for |
| the NetBeans IDE? |
| </h4> |
| Documentation, |
| documentation, documentation. And the community. I made extensive use |
| of both while developing the RegEx Plugin. (See below for Angad's |
| recommended links.)<br> |
| <br> |
| Articles, tutorials, blog entries, videos, |
| etc., are really very useful when working on |
| any Java-based project. A simple search can yield a lot of |
| relevant results, usually from Sun sites such as |
| developers.sun.com, |
| blog.sun.com, |
| java.net, |
| etc. Sun also provides extensive up-to-date documentation on all |
| API/SDK/Language features of all Java technology at <a |
| href="http://docs.sun.com/app/docs" target="_blank">docs.sun.com/app/docs</a>.<br> |
| <br> |
| Another |
| website I stay connected with is javaspecialists.eu. |
| Its newsletter is an excellent resource for any Java developer, |
| providing in depth information about specific topics and novel hacks |
| and tips & tricks not found anywhere else. It is run by Java |
| Champion Heinz Kabutz.<br> |
| <br> |
| <a href="http://javapassion.com/">Javapassion.com</a> is an excellent |
| resource. Sang Shin is a brilliant person and great teacher. The |
| training courses that he provides through his website |
| are very easy to understand; they focus on hands-on knowledge rather |
| than theory and are extremely useful for new learners and experts |
| alike. JavaLobby.com is another useful website providing news, |
| articles, tutorials, presentations and topics around interesting |
| topics for java programmers.<br> |
| <br> |
| Lastly, when you encounter an |
| obstacle a solution may only be a forum or mailing list away.<br> |
| <br> |
| <h4>Do you intend to |
| create more plugins for the NetBeans IDE? |
| </h4> |
| Yes, I will definitely continue to work |
| on further extending the Regular Expression Plugin. I have submitted |
| a proposal about this to the <a href="https://netbeans.org/grant/">NetBeans |
| Innovation Grants</a> program and |
| await the results. And even apart from this plugin, as soon as a good |
| idea clicks, I'll go ahead and start working on it.<br> |
| <br> |
| <h4>What was your |
| prize for the contest? |
| </h4> |
| I received an Acer 4520 laptop as the |
| grand prize. I use it for my everyday work. I always wanted a laptop |
| and it just rocks! It helps with being much more productive. Thank |
| you Sun!<br> |
| <br> |
| <h4>Congratulations again, Angad, and please keep us updated about |
| future plugin projects.</h4> |
| <br> |
| <div style="text-align: right;"><span style="font-style: italic;">(April |
| 2008)</span><br> |
| </div> |
| <br> |
| <h2>Angad Singh's Suggested Links</h2> |
| Tutorials, Articles, Guides & Demos from NetBeans.org: |
| <br> |
| <font face="Symbol">·</font><a |
| href="http://platform.netbeans.org/tutorials/60/nbm-google.html">NetBeans |
| Module Quick Start</a><br> |
| <font face="Symbol">·</font><a |
| href="http://platform.netbeans.org/tutorials/">NetBeans |
| Modules and Rich-Client Applications Learning Trail</a> |
| <br> |
| <font face="Symbol">·</font><a |
| href="http://wiki.netbeans.org/DevFaqApisBasics">Basic |
| things to know about NetBeans' architecture to get started</a> |
| <br> |
| <font face="Symbol">·</font><a |
| href="http://platform.netbeans.org/tutorials/nbm-glossary.html">Basic |
| Terms for NetBeans Rich Client Application Development</a> |
| <br> |
| <font face="Symbol">·</font><a |
| href="http://wiki.netbeans.org/IntroNetBeansPluginDev">Introducing |
| NetBeans plug-in Development</a> |
| <br> |
| <br> |
| All my module development questions |
| were answered here: |
| <br> |
| <font face="Symbol">·</font><a |
| href="http://wiki.netbeans.org/NetBeansDeveloperFAQ">Module |
| Developer FAQs</a> |
| <br> |
| <font face="Symbol">·</font><a |
| href="http://wiki.netbeans.org/wiki/view/NetBeansCertifiedEngineerCourse">NetBeans |
| Certified |
| Engineering Course</a> |
| <br> |
| <font face="Symbol">·</font><a |
| href="https://netbeans.org/community/contribute/modules.html">Contributing |
| Modules</a><br> |
| <br> |
| Additional resources:<br> |
| <font face="Symbol">·</font><a |
| href="http://blogs.sun.com/geertjan/entry/schliemannizing_regular_expression">Schliemannizing |
| Regular Expressions in NetBeans IDE</a> |
| <br> |
| <font face="Symbol">·</font><a |
| href="http://www.exampledepot.com/egs/javax.swing.text/style_HiliteWords.html">Highlighting |
| Words in a JTextComponent</a> (Java Developers Almanac Example) |
| <br> |
| <font face="Symbol">·</font><a |
| href="http://www.javalobby.org/java/forums/t19867.html?start=20">Swing: |
| Context Menu for TextComponents</a> |
| <br> |
| <font face="Symbol">·</font><a |
| href="http://dotuseful.sourceforge.net/doc/tutorials/automateddomtree/automateddomtree.htm">Automated |
| DOM Tree Tutorial</a> |
| <br> |
| <font face="Symbol">·</font><a |
| href="http://forum.java.sun.com/thread.jspa?threadID=580118&messageID=2954881">Swing |
| - JTree with XML Content</a> |
| <br> |
| <font face="Symbol">·</font><a |
| href="http://www.exampledepot.com/egs/javax.swing.tree/AddNode.html">Adding |
| a Node to a JTree Component</a> (Java Developers Almanac Example) |
| <br> |
| <font face="Symbol">·</font><a |
| href="http://www.apl.jhu.edu/%7Ehall/java/Swing-Tutorial/Swing-Tutorial-JTree.html">Swing |
| Tutorial: JTree</a><br> |
| <br> |
| <br> |
| </body> |
| </html> |