I’m an Author – Driving Technical Change

About a year and a half ago, in a moment of overconfidence I sent a proposal to the Pragmatic Bookshelf, the publishing company headed up by Andy Hunt and Dave Thomas of The Pragmatic Programmer fame. I wanted to write a book about my experiences trying to get coworkers to adopt new tools and techniques. Much to my pleasure and surprise, they accepted my proposal, and I’ve been working on it ever since.

My goal was to write a book to help people who were struggling to get new tools and technologies adopted at their workplace. I wanted to share tools and techniques for promoting change. Or to put it more eloquently by the publisher:

Your co-workers’ resistance to new technologies can be baffling. Logical arguments can fail. If you don’t do politics, you will fail. With Driving Technical Change, by Terrence Ryan, you’ll learn to read users’ “patterns of resistance -and then dismantle their objections. Every developer must master the art of evangelizing. With these techniques and strategies, you’ll help your organization adopt your solutions-without selling your soul to organizational politics.

As of April 7th the book is now available in Beta format. Part of the deal when your publishers are programmers is that books can go through beta. So you can buy it now, in a package deal with the eventual paperback. Feel free to go buy it… Wait what a horrible salesman I am. BUY MY BOOK!

If the topic sounds familiar, it is. I gave a talk a few years back at cf.Objective 2008 called Selling Professional Development at the Hostile Shop. This book is certainly a descendant of that talk. But I have to say I’ve learned a lot more since then:

  • The people who aren’t adopting what you want are not your enemies
  • In most cases, you yourself are responsible for your difficulties in getting people onboard
  • But this means in most cases you have success within your reach
  • Trust is the most important commodity you have in your efforts

I tried to bring that wisdom into the book version. Titling the book was pretty hard, so we called in Meat Loaf as a consultant, and he arrived at the monster title – Driving Technical Change: Why People On Your Team Don’t Act On Good Ideas, and How to Convince Them They Should. (His original pass was My Co-workers Will Do Anything at Work but They Won’t Do That.) It’s hard to succinctly explain what the book is about, so we figured we may as well go whole hog.

So check it out, and if you think it would help you go ahead and BUY MY BOOK!

 

ColdFusion Builder Tour – LA Area

This week I’m doing two stops on the ColdFusion Builder User Group tour. Both are in the LA area.

I’ll be stopping by the The Inland Empire ColdFusion User Group meeting on April 7th at 7:00PM on the Cal Poly Pomona campus. Check out their site for directions and whatnot.

I’ll also be stopping by the LA Web Professionals meeting on April 8th at 6:30 in Hollywood. Check out their site for whatnot and directions.

I’ll be talking about ColdFusion Builder as well as Flex and Flash Builder. I look forward to seeing you all there.

Apptacular, onProjectCreate, and Annoying Database Conventions

Sorry for the MeatLoaf-esque title, but I have a video demo that shows off some new features of both ColdFusion Builder extensions in general, and Apptacular in particular.

onProjectCreate

One feature of extensions that hasn’t been getting any play is the fact that you can wire up your extensions to run after a project is created. At the end of the New Project Wizard you can choose from a list of all of the extensions that have this enabled, and run anything an extension can do. This is really cool for starting up your projects with your preferred structure and style right from the get go. The video demo shows running Apptacular in this manner.

Prefixes

ORM and databases are great together, but sometimes database conventions run afoul of ORM best practices. Take table prefixes for example. Having a table with tbl_user makes some sense on the database side, it’s basically Hungarian notation for tables. (I’ve also seen people append the schema name to the table, as in the video.)

As necessary as it may be on the database side, it’s a big pain on the ORM side. We don’t want to work with a tbl_user object, we want to work with a user object.

Apptacular allows you to set a prefix that you can have removed from any of your tables. In this case it will convert the table tbl_user to the ORM entity user. Very handy, and saves a lot of work.

Plurals

The other convention that gets in the way of generating ORM content from the database is plurals in tables. So table users should translate to the ORM entity user. I’ve added a checkmark option that will try and do that for you.

So these options combine to make writing clean, readable ORM from databases with these conventions really quick and easy. Check out the video to see this in action.

http://vimeo.com/moogaloop.swf?clip_id=10526198&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=00ADEF&fullscreen=1

Apptacular ColdFusion Builder Extension – onProjectCreate, prefixes and depluralizing. from Terry Ryan on Vimeo.

Adding Spacers to ColdFusion Builder Menus

One of the things missing from ColdFusion Builder Extensions is the ability to make spacers in your menu items. This makes it a little hard to organize menu items.

But it turns out that you can add handlerless menu items. I have posted sample SML below.

Unfortunately, they are still clickable but because they don’t have a handler they don’t do anything. So it’s not a perfect solution, but it does make it a little easier to organize your menu options.

 

<contribution target=”projectview” >
<menu name=”Apptacular”>
<action name=”Regenerate Application” handlerid=”generate”></action>
<action name=”——————————” />
<action name=”Create Application” handlerid=”handlerCreateProject”></action>
<action name=”Edit Application Configuration” handlerid=”editConfig”></action>
   <action name=”Edit Database Data Model” handlerid=”editDB”></action>
<action name=”Edit Item Data Model” handlerid=”configtable”>
<filters>
<filter type=”file” pattern=”.*.cfc” /> 
</filters>
</action>
<action name=”——————————” />
<action name=”Prune Excess Files” handlerid=”purge”></action>
</menu>
</contribution>

ColdFusion Builder Extension Won’t Install But Will Import

I’ve run into this problem quite a bit, and it came up on a post about Ray Camden’s ORM Scanner.

So the conditions are:

  • User tries to install extension
  • Install option does not work
  • They unzip the file
  • User imports the extension
  • The extension works

Two subtle pieces of information that don’t always get reported:

  • Extension user on Windows
  • Extension author on Mac

This particular problem doesn’t appear if:

  • Author uses PC
  • User uses Mac

The cause of your woes:

.DS_Store files.

I’m not entirely sure why.

To combat this I build all of my extensions with ANT. (I know we provide a packager, but the work flow doesn’t work for me.) Here’re the relevant ANT targets:

 

<target name=”build.copy.files” description=”Create a installable version of the source code.”>
<echo message=”Copying Files to Build Location”/>
<copy todir=”${build.dir}” preservelastmodified=”true”>
<fileset dir=”${dev.dir}”>
<exclude name=’settings.xml’/>
<exclude name=’settings.properties’/>
<exclude name=’.project’/>
<exclude name=’.settings’/>
<exclude name=’build.xml’/>
<exclude name=’**/.DS_Store’/>
</fileset>
</copy>
</target>

<target name=”build.zip” description=”Creates a zip file of the build.”>
<echo message=”Creating Zip File”/>
<zip destfile=”${package.dir}/${app.name}.zip” basedir=”${build.dir}”/>
</target>

No ColdFusion Builder Tour Stops in Your Area?

Are you feeling left out of the Special ColdFusion Builder tour that’s coming around? If so, Charlie Arehart cures what ails you through the magic of the Internet.

I’ll be doing a ColdFusion Builder Tour session on Charlie’s Online ColdFusion Meetup.

Thursday, March 15th at 12:00 PM EDT.

As always, the session will be at: http://experts.acrobat.com/cfmeetup/ and will be available as a recording afterwards.

Using ColdFusion and Flash Builder Together

Since the cat’s out of the bag on the fact that ColdFusion Builder comes bundled with Flash Builder, I thought it might be good to share some tips for using them together.

Flash Builder 4 for ColdFusion Developers

This video gives a little overview of using ColdFusion services with Flash Builder. It will show exactly how to pull them in and use them together.

Using Flash Builder 4 and ColdFusion Builder in an integrated workflow

This article goes over using ColdFusion services with Flash Builder. It uses ColdFusion Builder and Apptacular to generate back-end services. It then shows you how to consume them with Flash Builder. Yes, it uses Apptacular, so if you want to get your hands on that, there is a download link. The copy of Apptacular included in this article definitely works with the demo. Past that, I know I’ve added some bug fixes since then, so caveat downloader.

ColdFusion Builder Tour – More Stops

I’ve added a few more stops on my stretch of the ColdFusion Builder Tour.

I was already scheduled to do:

Dallas, TX  DFW CFUG Wednesday March 24 7:30PM RSVP
Philadelphia, PA  Philly CFUG Tuesday March 30 6:00PM RSVP

 

Make sure you sign up for these if you are planning on coming.

I am now adding:

Pomona, CA  IECFUG Wednesday April 7  
Los Angeles, CA  LA Web Professionals Thursday April 8  
Chicago, IL  CCCFUG Wednesday May 12  

 

Details are forthcoming

ColdFusion Builder and Flash Builder FREE for Education

So yeah, the title pretty much says it all. If you are a student, faculty, or staff member of an educational institution, looking to use ColdFusion Builder or Flash Builder for educational purposes, they’re free.

Go get them: freeriatools.adobe.com.

It’s important to note, that if you are looking to set up a lab of multiple computers, you don’t have to get a license for every machine or student. You can use the license we give you to install on multiple machines. Just let us know when you sign up that you intend to do so.

Upgrade from Flex Builder 3 Professional and get ColdFusion Builder

Asked a few times in various places:

If I am a Flex Builder 3 Professional User, is there a way to upgrade and still get ColdFusion Builder, since ColdFusion Builder comes with a copy of Flash Builder?

If you are a Flex Builder 3 Professional User, you can upgrade to Flash Builder Premium for $299. Flash Builder Premium has a few key features above and beyond Flash Builder, including Network Monitor, profiling tools, and unit testing support. We made a handy upgrade chart for you.

To upgrade, you can head to the Adobe store.