Monthly Archives: January 2011

Got Eclipse? Optimize your IDE (CFEclipse, CFBuilder, Subversive, etc)

I’ve been using Eclipse IDE for years now, and I purchased Adobe ColdFusion Builder shortly after it’s release. While my experience with Eclipse was always a bit fickle, I figured like any loving relationship it’s a game of give and take. I had the same feeling with ColdFusion Builder, which I installed as an add on to my existing Eclipse platform. While both proved to be essential in development, performance has started to waiver quite a bit, as of late. Eating up memory, constant processing, and frequent crashing had brought me to the brink of using NotePad++, but I couldn’t just give up on Eclipse. We’ve been through so much together. I also cannot afford any slow down in my development time. As we know, a good developer’s work load only increases with achievement.

So…what to do, what to do???

I figured it would be a good idea to get a clean install of Eclipse running. I even went to the extent of creating a new workspace. (That decision is totally up to you).

The clean install, however, is where my recommendation lies. The trick here is to grab the right Eclipse package for you. Or for that matter, the Eclipse ‘non-package’ and make it your own.

I must have stared at the Compare Packages page for what seemed like hours, and even downloaded 3 different ones before I found ‘the one’.

You won’t find it on the download page. You have to click on the Other Downloads link next to Eclipse Classic. That will take you to all the Eclipse project download links. Select the version of choice, I went with 3.6.1

Next, you will be presented with all the download links for the core distributions and then some.
The one I want to point out is under the Platform Runtime Binary section. Scroll down a bit, and you’ll see it.

Select the one that matches your OS configuration.

Now, the following is based on my experience. I am interested to hear from others, as well.

I am running a Mac (32 bit) and a Windows 7 PC (64 bit).
While I saw a dramatic improvement just by using this stripped down platform package, it was even more noticeable using the 64 bit edition. (Make sure you have a 64 bit Java JRE installed or point the Eclipse binary to one directly using the command line argument -vm “pathtojvm” when starting up the application.)
To my surprise, eclipse.exe was barely using any memory…don’t get too excited, javaw.exe was.

It’s nothing to be concerned about, I was actually delighted to see Eclipse running as it was meant to be.
In my opinion, the responsiveness of the IDE had never been better.

Remember, there are no additional packages installed in this distribution. Not one. You have to manually pick and choose what you want in your IDE.

So I loaded up the usual suspects:

-Subversive Team Provider (Helios)
-Subversive SVN Connectors (Polarion)
-SVNKit 1.3.2 Implementation (Polarion) *required for 64 bit
-Eclipse XML Editor and Tools (Helios)
-Eclipse Web Developer Tools (Helios)
-CFEclipse (CFEclipse)

I left Mylnn out for sake of time and confusion.

I setup another instance with:

-Subversive Team Provider (Helios)
-Subversive SVN Connectors (Polarion)
-SVNKit 1.3.2 Implementation (Polarion) *required for 64 bit
-Adobe ColdFusion Builder (Adobe)

There was no need for the XML and Web Tools since Adobe has Aptana under the hood.
(Which is where most of my recent crash logs indicated problems).

The 64 bit Eclipse will let you install CF Builder as an add on, and it will even start up just fine. It wasn’t till I tried to update to the latest CF Builder release that I came up short handed. The option in the menu was disabled, staring back at me in pale grey. Adobe has never denied it’s lack of 64 bit support for Builder, which I was fine with.

After getting a taste of the 64 bit with the options listed in the first set above, I have to take a break from Builder and re-visit CFEclipse. It’s running so fast and smooth, and I have yet to crash. My only complaint would be the CTRL+SHIFT+D when inside CFSCRIPT produces a dump() instead of writeDump(). That’s a feature or enhancement request for the CFEclipse team, nothing more.

On a side note, another reason for making the switch was the lack of portability with CF Builder.
I am one of those who has no trust in a laptop, especially company issued units. I rely heavily on my own external hard drive. I work on multiple platforms and on multiple machines. Portability is a key factor for me these days.

The 32 bit Eclipse IDE on the Mac with either set of options from above performs great. The portability issue is still a factor but at least the kernel isn’t.

It’s been a couple days, and I can say I am still impressed.

That extra overhead you save by eliminating the unnecessary components that come along with those Eclipse download packages obviously makes a difference. If you have the luxury of running a 64 bit OS, then the benefit is multiplied.

In no means, am I putting Adobe CF Builder down, maybe just pushing for a 64 bit portable version 😉

Microsoft SQL Server, Error: 64 A connection was successfully established with the server…

I was recently prompted by the following error message while attempting to connect to a MS SQL Server instance:

A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 0 – The specified network name is no longer available.) (Microsoft SQL Server, Error: 64)

It had been working previously, what could have changed to cause the problem?

I did a quick google but the suggested fixes had mixed results, and none solved my problem.

I stumbled on this article:

It wasn’t the answer to my problem, but it led me down the right path.

I was connecting to a MS SQL Server instance on a Virtual Machine I had running locally.
Recently, I installed tethering software for my mobile phone which had corrupted my windows network configuration.
Not saying that this you did the same, or were using a VM, but it helps explain the cause a bit.
I had to re-install my VM software, and the VM networking components were re-configured in doing so.

The IP address of my VM had changed.

That was the culprit.

The solution:

Go to the SQL Configuration Manager. (You can refer to the link above for a walk through with screen shots to get there)

Expand the SQL Network Configuration and click on the PROTOCOLS node

Right click on TCP/IP and open up the PROPERTIES panel

Select the IP ADDRESS tab

Make sure the values for the IP ADDRESS fields are correct and match the system it is running on.

Restart the service, and you should be back in business, I was.

On a side note, this is also the same place where lots of people get hung up when setting up remote access to a SQL Server instance.

Make sure you fill in the TCP PORT, even if you are using the default 1433.