blob: 8c5f7a5077df0c1552094634b0299033959f5d6b [file] [log] [blame]
<!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>
&nbsp;<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 &gt; Regular Expressions Plugin</span>.
<br>
I also created a demo highlighting the features of the
plugin—showing 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
2—the 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 stuck—for
example, not knowing how to use a specific API feature—help was
just a search away. NetBeans.org provides links to lots of useful
tips &amp; 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 &amp; 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 &amp; 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&amp;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>