ColdFusion Builder 2 Beta

About two and a half years ago, I got my first look at something called “Bolt.” It was an early alpha of what would go on to become ColdFusion Builder. I remember thinking, nothing could get me to switch IDEs. Two years later, I can’t believe I ever lived without it.

That’s why I’m thrilled to join in announcing the ColdFusion Builder team is releasing Coldfusion Builder 2 Beta to Labs today.

ColdFusion Builder has a ton of cool features, and I’m sure the usual suspects will give you a complete run down. But I’ll focus on what they’ve done to win me over with this release.

First, they focused on making it not just an editor, but an extremely productive one. More shortcuts are available, those shortcuts are more configurable, and you can create your own.

One of my favorite new features is called Quick Fix, which is a little hard to explain, but awesome when you get it. Let’s say you’re working in a file, and you know you need a function down the road but don’t want to stop your flow to go off and write it. So you write the call out, and your editor gives you red squiggly lines telling you that the function is undefined. But ColdFusion Builder gives you a yellow squiggly. This isn’t that exciting, except that when you see a yellow squiggly, you can hit a shortcut and get the option to generate that function. ColdFusion Builder will then generate the function definition for you, including typing any arguments in it based on what you passed into it when you wrote the call. Very cool, very productive. It’s also not limited to just functions. You can create standalone functions this way, or functions in existing CFCs, or even CFCs.

Finally, my favorite feature from ColdFusion Builder 1 is getting an upgrade. ColdFusion Builder Extensions have gotten some cool treatment from the team. There is tons more interactivity between the server and the IDE. Extensions can now launch in views, instead of a modal box. Finally, extensions can even add their own custom Code Assist.

All of these features and more are available for download today on Labs. Get it, try it out, and get more productive, today.

Go get it at http://adobe.com/go/cb2.

Three Choices

I was reading a review of Driving Technical Change by Roger The Geek (his label, not mine.)

He has both positive and negative things to say about the book. Read the review, I think his criticism’s fair. However he said one thing that sticks out to me.

Do you want to fight for technical change on your team or do you move from team to team or company to company looking for that great fit?

Basically, in early talks I gave on this I phrased it a little different:

You have three choices:

  1. accept the status quo
  2. leave
  3. change your organization

 

This was inspired by Martin Fowler‘s quote:

You can Change Your Organization or Change Your Organization.

The problem I see in Roger’s question, is that it sort of assumes that work has only one compelling feature: the work. I see this from time to time, and I’m not entirely sure that Roger is saying this, but I feel in the minds of many people it assumes that passionate people don’t stay at a job where people are resistant to change. It implies that the people that do want better things have to leave to grow.

I know it’s not trendy to say this, but there are times where being an adult means that you can’t just hop from job to job following your passion. Having a family, a mortgage, and other ties require that from time to time you have to suck it up for a paycheck, heath benefits, and stability. You aren’t always free to leave.

This is not to take shots at people who set up their lives to enable this. They value their freedom, and they earn it by sacrificing other things. I respect and admire that, but theirs is not the only path to passionate fulfillment in your life.

This is also not to say you shouldn’t try to leave a bad situation. Just that you have to weigh your options and take passes on riskier ventures waiting for the right opportunity.

But while you wait where your coworkers aren’t interested in change, what do you do? If you cannot leave, your choice is between accepting the status quo, or changing the organization.

I’d argue that if you accept that status quo it is the first, if not the only, step to giving up on the passion at your job. That’s cool. No judgment. It might be right for you. It was decidedly not right for me.

Let’s assume that it’s not right for you – you have the passion to want other things, and as stated before you can’t change jobs… then you’re going to have to change your organization.

At first that seems like you’re making a poor decision. Fighting a fight that you cannot “win.” But what is “winning”? I’d argue that making your organization better isn’t a journey to a destination – it’s the journey itself. So even if you don’t get everything you want, you can still effect some change, rejecting the status quo, and making yourself a little happier in the meantime.

Success at change has to measured by your deltas, not your destination or current location. People tend to lose sight of the fact that between where you are, and where you ultimately want to be, there are many, many better places.

Keep that in mind as you drive change.

Getting Started with PlayBook Development Links

As collected by my colleague Renaun Erickson, here’s a whole bunch of links to get you started with BlackBerry development.

Main Landing Page for all BlackBerry Tablet OS SDKs
http://us.blackberry.com/developers/tablet/

BlackBerry Tablet OS SDK for Adobe AIR
http://us.blackberry.com/developers/tablet/adobe.jsp

BlackBerry Developer Forums
http://supportforums.blackberry.com/t5/Tablet-OS-SDK-for-Adobe-AIR/bd-p/tablet

BlackBerry Issue Tracker (jira based)
http://us.blackberry.com/developers/resources/issuetracker/

On the Adobe side the go url is:
http://www.adobe.com/go/bbtabos

Some hot topics:
Uploading Your Playbook App to Blackberry App World
PaymentServices
QNX and MXML
Using ImageCache

Debugging Error with PlayBook Emulator

I ran into an issues while trying to launch a PlayBook app from Flash Builder Burrito in Debugging Mode.

I launched and the “Launching [Application name]” indicator in the bottom right corner just slowly inched up to 100%, but nothing happened. Eventually I got error messages.

From Flash Builder:

The Flash Builder debugger failed to connect to the running application.

Ensure that:

1. For in-browser applications, you are running the debugger version of Flash Player.

2. For debugging on a mobile device, you have a reliable WiFi connection to the device, and port 7935 is open on your machine’s firewall.

On the emulator:

Unable to connect to the debugger at address x.x.x.x, enter the correct host name or IP address or select cancel to continue without debugging.

The cause of this error is that your Default Debug Host IP is wrong. To get to this setting:

Go to Flash Builder Preferences
FlashBuilder ->
Target Platforms ->
BlackBerry Table OS

In my case the reason the error happened was a bit confusing. But it came down to this. That IP address got set to my public IP address in my hotel. When I went to present I didn’t have a network connection, and so that address was no longer present. The easiest fix for this when using the emulator is to set that Default Debug Host IP to the gateway of your VMWare’s NAT setup.

I don’t have an easy was of getting that, but the way I did it was:
Determine IP address for Playbook emulator
BlackBerry Settings
About ->
inet

For me 192.168.253.138.

Determine all of my system’s IP addresses
OSX ifconfig
Windows ipconfig

When I did that, I found one address (192.168.253.1) that was a reasonable bet for the gateway of the NAT network.