Sunday Nov 22, 2009

Slow context menu on Windows

Most people get a virus/cold during the winter since they spend more time indoors interacting with each other. One could validate this fact by doing a study where introverted folks are compared with the ones that are more social. Anyway, during the cold (relatively since I live in California) season I got a case "slow context menu" any time I right-mouse-click in a Windows folder. My computer has been socialized with a bunch of 3rd party software, in addition to its native Vista OS. The kind of software I've installed tends to be geeky: Visual Studio.NET, NetBeans, Eclipse, SmartSVN, cygwin, Filezilla, Java, Mercurial, SQL Server, RealVNC, etc. So which software has been causing me the ... ailment. 

At first I searched the registry for "contextmenu". I found lots of entries and gave up after inspecting about a dozen. The internet came to rescue, once again. I found a great utility from the folks at NirSoft. Their utility (ShellExView) helped me to rapidly analyze the shell extensions on my system and I started to turn off the ones which did not come from Microsoft. I rapidly found the cause: SmartSVN (I've been using SVN for zembly and the Java Store). Once I've disabled the extension name every started to work fine (pop-up menus are snappy once again). I'll have to default to the client that NetBeans installs.

Many thanks for the folks at Nir Sofer for making the software available for free.

Monday Jul 27, 2009

JavaFX 1.2 now part of the "All" distro of NetBeans (6.7.1)

NetBeans just released a minor version update (6.7.1) which includes support for JavaFX 1.2. Developers will be pleased that the JavaFX plugin is now included in the "All" distro of NetBeans, in addition to having its own distro. This is the most (over 50%) downloaded NetBeans distro and will enable all the Java and web developers to experience JavaFX in the confort of their favorite IDE :-).

Monday Jun 15, 2009

Subversion support in NetBeans

I have not been into the code in the last couple of month, however I recently needed to look at the performance of a JavaFX application written by a 3rd party. I am using a new Windows notebook and I had the JavaFX development environment (NetBeans 6.5.1 + JavaFX SDK) setup, however the project had the sources in an subversion repository and I did not have it installed. Now onto the interesting part. As I used NetBeans in trying to connect to the SVN repository, the IDE prompted me to facilitate the installation of SVN for Windows. Sweet! I was up and running in no time. I guess this is one of the core the value proposition of IDEs - easy of use, and NetBeans delivered. 

On a related note, I am using the VisualVM (look for jvisualvm in your JDK install path) tool that now ships with the JDK, to profile and troubleshoot the 3rd party app. Some of you may know that the VisualVM is based on the NetBeans platform and offers a plugable model for building serviceability tooling for the Java platform. I hope that John's team will shortly port the Thread Scheduling Visualizer as a VisualVM extension.

Friday Mar 20, 2009

JavaFX developer challenge

The JavaFX team is ready to deploy the JavaFX developer challenge. Students and developers should already familiar with the concept. Companies such as Google, Adobe and Microsoft have implemented similar contests to get developers to adopt new technologies.

Here are some tips on how to improve your odds of winning:

  • Use NetBeans 6.5 - it will make you more productive
  • Deploy your application on the web, rather than just submitting the sources - JavaFX is all about build rich user interfaces, and the web is the best way to showcase your work
  • Embed you application in a widget that can become viral within social networks. For instance you could use zembly to build and deploy a Facebook application
  • Don't mix and match in your user interface. JavaFX Script provides a different programming model than Java and while you could call Java (e.g. Swing) from the UI, it will likely not look good. The team is building a new set JavaFX UI controls, however this library is not available yet.


Wednesday Feb 11, 2009

JavaFX Mobile ships

The Eran Davidov show is now coming to a mobile device near you. In other words, the JavaFX team at Sun has delivered JavaFX Mobile. The JavaFX platform enables the development and deployment of rich and expressive content and services to end-users across desktop, mobile, browser and TV (due later on this year). This release follows the December '08 shipment of JavaFX 1.0 for desktop.

[Read More]

Saturday Jan 31, 2009

Installing JavaFX plugin in NetBeans "All" distribution


Most of the developers that want to learn about Sun's new RIA platform - JavaFX, install the bundle that includes SDK, the NetBeans development environment (which includes a JavaFX Script plugin). On the other hand if you are already a developer that uses NetBeans and have adopted the recently release version 6.5 you have a simple way to add install the JavaFX plugin.

Just use the top level menu of the IDE: Tools | Plugin, tab to "Available Plugins" and look for the JavaFX category, select all entries, install and restart NetBeans.

Nota Bene: One of the advantages of using NetBeans to get started with JavaFX is the availability of samples. Open and File | New Project | Samples | JavaFX and you'll note about 40 samples which range from a series of simple building blocks that show you how to work with shapes, transformation, etc. to more advanced examples that illustrate how to invoke web services, or build a media player.

Thursday Nov 20, 2008

Another scripting language supported by NetBeans

 It has been a couple of years since NetBeans has been focusing on supporting scripting languages. The 6.5 release continues to deliver on this trend. The PHP IDE that was launched earlier this year (at JavaOne) has now been formalized and new support for Python has also been added. Scripting languages are very popular and well suited for web application development. In many cases developers use scripting on the client side and Java on the server side. PHP is practically the lingua franca of the presentation layer for MySQL. There is a lot of content out there that helps developer write database driven web applications using PHP & JavaScript. NetBeans does a superb job of supporting this usecase.

Looking ahead, there will be an additional options for web application developers. A new extension of the Java platform, JavaFX, will be released and huge opportunities will now be available for developers who are lookign to embed media, graphics and animation in web applications. In a couple of weeks, the NetBeans community will also release a distribution that supports the JavaFX scripting language.

Wednesday Nov 12, 2008

Message to developers

Here is a demonstration of the power of the JavaFX platform. We are still fixing some issues, so the clip will only play if you are within Sun's internal network an it will only play on the Mac since the clip is encoded as mp4. 

Media player - written in JavaFX Script

<script src=""></script> <script> javafx( { archive: "", width: 530, height: 305, code: "simplevideoplayer.Main", name: "SimpleVideoPlayer" } ); </script> Below is the code of the JavaFX applet that creates the video player. This sample is bundled with NetBeans 6.5, the upcoming  distribution that  has support for JavaFX Script.
package simplevideoplayer;

import javafx.stage.Stage;
import javafx.scene.Scene;
import com.sun.fxmediacomponent.\*;
import javafx.scene.Group;

def mediaUrl:String =
println("using mediaUrl = {mediaUrl}");
var vidWidth = 512;
var vidHeight = 288;
var fullWidth = 700;
var fullHeight = 400;

var mediaBox:MediaComponent = MediaComponent {
    // set the media and make the component visible
    mediaSourceURL : bind mediaUrl

    // the position and size of the media on screen
    mediaX: (fullWidth-vidWidth)/2 // center
    mediaY: (fullHeight-vidHeight)/2 // center
    mediaViewWidth : vidWidth
    mediaViewHeight: vidHeight
    mediaVisible: true

    // determines if the control bar is visible at all
    controlBarVisible: true

    // determines if the control bar is below the media or on top 
    staticControlBar: false
    // the position of the scroll bar.
    //leave as the defaults to have it be below the media
    //controlBarX: -1
    //controlBarY: -1

    // set the size for full screen.
    fullScreenWidth: fullWidth
    fullScreenHeight: fullHeight
    // make the movie play as soon as it's loaded
    mediaPlayerAutoPlay: true

    // set the volume
    volume: 0.5

Stage {
   title: "Simple Media Player"
   scene: Scene{
       width: fullWidth
       height: fullHeight
       content: mediaBox

Tuesday Oct 28, 2008

HelloWorld JavaFX

I tried writing a Hello World applications assisted by the latest night build of NetBeans 6.5 that has the built in support for JavaFX Script. I was very pleasantly surprised to see that the IDE generates some sample code by default to help one get started.

import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.text.Text;

    width: 250
    height: 80
    scene: Scene{
        content: Text {
            x: 10, y: 30
            content: "Hello world"
A quick glance at a couple of other features that I was expecting, shown that the debugger works and one could change the deployment options (use the context menu on the project to choose "Set Configurations | Customize" and deploy the application as an applet, desktop application, mobile emulator, etc. When I have more time, I'll try to play with the media support in JavaFX.

Thursday Jul 31, 2008

NetBeans helps you get started with JavaFX

I've been waiting since Java One for the release of the JavaFX SDK. This morning, I was finally able to download the bits and to my pleasant surprise the tooling accompanied the release. I installed a distribution of NetBeans 6.1 that includes support for JavaFX script. ~30MB later and a straight forward install I was ready to go. NetBeans bundles a few samples which are useful when you want to learn by modifying someone else's code.

In a nutshell, for a preview the bits fared well and I was able kick the tires of the new language. Of course the availability of the debugging capabilities that I got with NetBeans made my job easier. Developer docs can be found both on the site as well on I am looking forward to the 1.0 release of the SDK later on this year.

Monday Jul 14, 2008

Mix and match

My JavaScript coding skills are not longer that crisp, so I decided to develop a widget using a truly participatory environment such as the one provided at By doing so I put myself in the position to ask for the help of other zembly users. I can grant certain folks the privileges to modify and re-publish versions of the my widget experiment. In the end, I'd like to be able to embed my widget in a more sophisticated application that I'll be developing using NetBeans.[Read More]

Tuesday Jul 08, 2008

VisualVM now part of the JDK set of tools

The NetBeans team just announced the availability of VisualVM 1.0, which ships along JDK 6 update 7.

"VisualVM is a free opensource visual tool integrating several commandline JDK tools and lightweight performance and memory profiling capabilities. Designed for both production and development time use, it further enhances the capability of monitoring and performance analysis for the Java SE platform."

This version of the tool requires Java SE 6, so to run it on the Mac you'll have to install the latest version from the Apple website. In addition you'll likely have to invoke the tool with the --jdkhome flag to load the appropriate version of the JDK.

./visualvm --jdkhome /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/

As you can see from the screen shot, you can easily monitor local and remote Java applications. The tool will help you discover performance and memory bottlenecks, debug threading problems or inspect contents of the heap. The data can be saved into a single snapshot and processed offline.

Thursday Jun 26, 2008

Build NetBeans on OpenSolaris

OpenSolaris is on path to become a compelling development environment. Once in a while I use my local installation that runs on my MacBook (under Virtual Box) to experiment with different tasks. Yesterday I tried to build NetBeans on OpenSolaris. With that in mind I knew I'll need the JDK (for the compiler), ant to build the sources, mercurial to pull the sources from the NetBeans open source repositories, etc.

In a terminal I became root and started looking for packages (e.g. pkg install mercurial - but this won't work). I found out that at this point the naming is not yet consistent. You can look for software like netbeans or openoffice by name, however for something like mercurial and ant, one has to use SUNWmercurial and SUNWant respectively.

Pulling from the NetBeans repository is simple:

hg clone

The next step calls for going into the <nbsourcedir>/main/nbbuild/ directory and looking for build targets using ant -projecthelp. "All" seemed an intuitive so I tried it. The bad part is that NetBeans requires ant version 1.7.0 and the version I installed earlier was 1.6.5 :-(. At this point I gave up and I'll ping the NetBeans community for help.

Monday May 19, 2008

NetBeans and in Korea

I recently arrived in Seoul, South Korea. I'll be presenting, to customers and the folks from the local office, on NetBeans, web 2.0 and SaaS/ I am yet to make some changes to some of the slides, however I don't have any appointments today and I should be able to customize the presentations with updates from Java One. The have demoed the storage service (Sun internal deployment so far), developer collaboration services and project Hydrazine looks very promising. I need to incorporate these new services and infrastructure that are starting to define Sun's SaaS offering.

The city's architecture is stunning. This is the first time I've been to Asia and the only footage of Korea that came to mind before the trip was from the Olympic stadium and History Channel documentaries from the early 1950's. What I've experience since my arrival last night was very different. The city is vibrant, the people courteous, the skyline reminds my of Chicago, the size of the metropolitan area is overwhelming. Sun's office is located in a highrise (ASEM Tower 15th Floor 159-1 Samseong-dong) next of a world famous shopping mall - COEX. I am looking forward to spending the week in Seoul - learning about the Asian marketplace, customer needs and perhaps visiting a few landmarks.

Stay tuned for pics.

Friday May 09, 2008

Java uber alles

IMHO opinion the '08 Java One had many themes. The event took place right after the OpenSolaris launch and unlike last year when Sun introduced JavaFX, this year the conference had Java + You as its motto. My take is that Java is poised to become more of a consumer brand. It is not hard to see why. Java is part of every day life wether we realize or not. Phones, entertainment devices - PS3 (Blue-ray), desktops, web apps, etc. Basically all the "screen" with which we now interact leverage Java.

NetBeans has been focusing on dynamic languages, especially since there is an opportunity to run Ruby, Python, PHP on the JVM. It is likely for this trend to continue, since Sun is a position to offer optimized deployment for applications that use dynamic languages. This is true now more than ever since most of these languages leverage MySQL and Sun will do its best to tune the database on Sun systems.

The most entertaining session that I attended was Todd Fast's. That were I learned that 1.0 developers are an endangered species :-) Thanks God that I am now in management. I should also hedge my bets and become a casual developer. All I need is a 2.0 development environment and I ready to go.

Thursday May 01, 2008

Building on the momentum

NetBeans has momentum. The relentless innovation has been paying off.
While staying true to Java developers, recent innovations in NetBeans IDE broaden its support for dynamic languages including Ruby, JavaScript, and now PHP.
NetBeans is poised to be the IDE of choice for next-generation web developers.

What is on tap in this release? Lot's, here are some of the highlights:

  • JavaScript
    • Support makes NetBeans an even more compelling IDE for web development. Strengths include editor support, refactoring, and quick fixes/semantic checks.
    •  Makes use of the powerful infrastructure implemented for Ruby support that's been so well received by the community.
    • Debugger support will be available on update center as a preview.
  • Web Services
    • NetBeans makes it easily to create mashups and provides drag-and-drop code generation.
    • Supports web APIs such as Google, Facebook, Yahoo, and YouTube
    • 6.1 includes support for RESTful web services.
    • SOAP UI plug-in available at update center (for testing web services)
  • Databases
    • MySQL Support in Database Explorer makes it easy to create DBs and launch MySQL administrative tools.
    • JSF CRUD Generator lets you generate a CRUD application from a DB schema.
  • Ruby/JRuby
    • Continues to be a priority for NetBeans community.
    • Google “NetBeans Ruby” and take a look at the positive results (you can say that)
    • Enhancements in 6.1 include:
      • Ruby platform manager
      • Support for Rails 2.0
      • New hints and quick fixes in the editor
  • Performance Enhancements (making a fast IDE even faster)
    • Up to 40 percent faster startup
    • Smarter parsing so that code completion is faster.
    • Less memory consumption
  • Other highlights:
    • Sailfin v1 support (SIP application server based on project Glassfish - NetBeans 6.1 now bundles GlassFish v2 ur2)
    • WebSphere 6.0 and 6.1 now supported out of the box
    • Spring framework (version 2.5) now supported out of the box
    • Groovy and Grails plug-ins are now available on the update center
    • Hibernate framework plug-in (this blog has more details) is now available on the update center
    • Axis2 plug-in is now available on the update center
    • Clearcase plug-in now available on the update center

Thursday Apr 24, 2008

Bleeding edge plugins

Early adopters of NetBeans have the option to point to the development update center and get additional plugins which are under development. The overwhelming # of users should \*not\* bother, since some of the modules are under active development and likely unstable. However if one wants to live on the bleeding edge, here is what you can do:

From the NetBeans IDE menu: Tools | Plugins | ... Settings | ... Add |




Wednesday Apr 23, 2008

NetBeans and OpenSolaris

NetBeans is widely distributed nowadays. You can get it from as part of the Java SE or EE bundles, as well as from Ubuntu makes it available in Universe (starting with Hardy) and the community contributed NetBeans to the Debian repositories (for more details on the Linux distributions that include NetBeans, take a look here).

The latest open source product that makes NetBeans (version 6.0.1) available is OpenSolaris (2008.05). I am in the process of kicking the tires of the RC2, that was recently produced in anticipation of the Community One event which takes place next month in San Francisco. I am still struggling with the OpenSolaris install, however I have an atypical configuration: MacBook Pro, partitioned with Boot Camp; I am trying to install in a partition where I previously installed Windows Vista.

Here are some of the issues that I am running into:

<snip from installation log>
Set fdisk attrs
fdisk: fdisk -n -F failed. Could't create fdisk partition table on disk c5d0
Couldn't create fdisk partition table on disk
Could not create fdisk target
TI process completed unsuccessfully
 </snip from installation log> 


Monday Apr 21, 2008

Just another way to learn

I remember, while growing up and going through school, having to study for quizzes. Some were scheduled, others impromptu, but no matter what was the circumstance, I recall having a knot in my stomach in anticipation of the results. Most of the quizzes that I take nowadays have to do with testing my knowledge and the stakes don't seem that high. I look at the new quiz sponsored by the NetBeans team as an opportunity to keep in touch with the language that I came to love and challenge my technical skills.

It is worth mentioning that participating in this quiz can be rewarding in more ways than just stimulating your intelligence and helping you learn. Prizes are awarded weekly and you can win more than once. My only problem is that I am not a legal resident of India and hence I am not eligible to win :(

To take the quiz, just download NetBeans, use its update center to download the plugin (Tools | Plugins  from the main menu and then look the "quiz" under Avaliable Plugins) and you are ready to go. To re-launch the quiz, use Help | NetBeans Quiz.

Monday Mar 24, 2008

Share your technology expertise with others

Blogs are all about sharing, opinion and participation in the new social media dynamic, where the news are made by random folks, and not only the journalism graduates.
The NetBeans blogging contest is just that - an attempt to get folks to evaluate the latest support for JavaScript and the Spring framework, that comes in the NetBeans 6.1 beta. If you are adventurous, try the NetBeans 6.1 nightly build, where you can get a preview of the new design for RESTful web services support and PHP. It is still work in progress, but worth while for the folks looking for the bleeding edge.

Wednesday Mar 05, 2008

NetBeans 6 wins the Jolt award - Development Environments

NetBeans 6 just won the Jolt award for the best Development Environment.
This is excellent news for the NetBeans community, partners and engineering team.

Ajax support in NetBeans

If you've read my previous post on charting for web applications using jMaki, here is another installment on the Ajax capabilities of NetBeans. The 6.1 beta release (due to be released tomorrow 3/6/08) improves on the previous feature set and as far as JavaScript support is concerned, it kicks butt!

So what's on tap?


  • JavaScript support in the editor - if you make heavy use of JavaScript in your web apps, NetBeans 6.1 brings the language to life
  • Better support for MySQL - ability to register MySQL servers
  • Performance improvements - especially in startup and project open visual JavaServer Facess application development
  • Support for PHP is still experimental (available on the update center), so I suggest for folks to wait until early April to kick the tires of the PHP support
Check out this wiki page for some more details on the Ajax related functionality as well the new & noteworthy wiki on NetBeans 6.1 beta.


Monday Feb 25, 2008

Embedding charts in web applications using NetBeans

You'll be surprised how easy is to build a web application that charts data using the jMaki framework and NetBeans 6. So let's assume that you want to plot the % of revenue an organization receives every month of an year. A pie chart would likely be your best bet:

So how does one build such a chart? These few steps should get you started:

  • First of all you'll need to get install the jMaki plugin from the NetBeans update center (Tools | Plugins | Available Plugins | jMaki Ajax support)
  • Next get the corresponding charting library - a project and install it in NetBeans (Tools | Palette | Add jMaki Library)
  • Create a new web project and select the jMaki framework in the project wizards dialog
  • Drag and drop the "Google Pie"component from the palette (look for a section called - jmaki-charting-widget ...) after the <body> tag in the index.jsp default page of the project
  • Deploy the application and customize as needed

If you are not a Java guy and want to achieve the same results in a PHP project and application use the following code snippet to build the chart.

  addWidget( array(
                         "name" =>"jmaki.charting.plotkit.pie",
                   xAxis : {
                   title : 'Months',
                   labels : [{ label : 'January'},
                             { label : 'February'},
                             { label : 'March'},
                             { label : 'April'},
                             { label : 'May'},
                             { label : 'June'},
                             { label : 'July'},
                             { label : 'August'},
                             { label : 'September'},
                             { label : 'October'},
                             { label : 'November'},
                             { label : 'December'}
                             data : [
                  {label : 'Set 1', values : [25, 45, 25, 45, 50, 25, 35, 25, 25, 20, 35, 45] },


Saturday Feb 23, 2008

Help NetBeans make a 'clear case' :-)

The NetBeans team just released support for one of the most  popular version control systems (VCS) in the  enterprise - ClearCase. At this point the ClearCase plugin is only available in the current development version of NetBeans: 6.1. Since the support is still experimental, the plugin is available on the update center. In order to try this out, one would have to get a NetBeans dev build.

The details regarding the support for ClearCase can be found here. Rouman blog has even more details.

In my case, I gave NetBeans 6.1 a try for a completely different reason. It is the improved support  for JavaScript. In the previous versions of NetBeans, JavaScript was minimally supported.  Starting last week, I've noticed dramatic improvement. I'll keep a close watch on that and report back.

Sunday Feb 10, 2008

XAMPP development

I have not been doing any development on Windows for a while. I thought I'd give it a try and build some web application using different open source technologies to compare my productivity and think of where to invest in toolability. David Van Couvering, recently, mentioned to me the XAMPP bundle, so I decided to start with this Apache distribution containing MySQL, PHP and Perl.

[Read More]



« July 2016