More Toolbox Fun

A couple weeks ago, Neil Middleton began creating an Ultimate CF Tools List, followed by a post today by Dana Kowalski, encouraging CF developers to share the list of tools / utilities they can't live without.  Since I haven't posted in eons, I decided to post some of the tools I use to get the ball rolling again. 

  • Eclipse as my main IDE, along with the more popular plugins in use by everybody  (CFEclipse, Aptana,  QuickREx)
  • Firefox, with all the toys, including ColdFire and Firebug.
  • FusionDebug as a debugger for CFMX6/7 work. I am using the CF 8 debugger for all new projects now.
  • TopStyle Pro- By Nick Bradbury of HomeSite fame.  I have been spending more time working with Aptana for CSS editing lately, but TopStyle is still one of the better CSS/HTML editors out there, although it  is going to die after one more release. 
  • Beyond Compare - There are many diff tools out there, this is my favorite
  • e Text Editor - TextMate for Windows; a nice little configurable editor that is still a little rough in some places, but works with a variety of languages.
  • PrimalScript - This used to be my main IDE/Editor, and I still use it occasionally.  It is mainly used for Monad scripting nowadays, but supports CF, ActionScript  and MXML, in addition to .NET language support. Very pricey nowadays and hard to justify unless you are in a hardcore Windows shop.
  •  xplorer2 - A Windows explorer replacement, which has a ton of features. What the Windows Explorer should have been.
  • Process Explorer - Windows task manager on steroids.  Will show you everything about every process running on your computer.  Free.
  •  WinRAR - Compression/archiving utility
  • Timeless Time and Expense - Project Time and expense tracking
  • CSS Tab Designer - Free utility for generating css menu sets
  • SnagIt - Capture Utility
  • TaskSwitchXP - A better Windows alt-tab manager
If you develop on Windows, you owe it to yourself to check out Scott Hanselman's annual Ultimate Developer and Power User's Tool List, which may keep you busy for hours.

I am curious as to what the Mac users have in their tool kits?

AARP Developer Persona

Geez, am I feeling like a senior citizen today! I have been reading all these CF developer personas today, and except for Sean Corfield, every one I have read is a thirty-something. Time for a tail-end baby boomer to get involved.  So, I am gonna go on about my bad self for a second, right after I take a swig of Geritol and change my Depends.

  • 51 years old
  • Married for 24.5 years, have two daughters and two dogs, but been through the whole bird, snake, fish thing too.
  • Drive a Dodge Dakota Pickup
  • Bought current house ten years ago, in rural Maryland on about a 3 acre wooded lot. I spend a lot of time raking leaves in the off-season
  • I used to be a Mac zealot, but I eventually grew out of it, like 15 years ago :) Have Dell and Alienware laptops.
  • I watch a lot of Foreign and Indy films from Netflix.  Will watch the occasionally epic movie (Lord of the Rings), but will not go to a movie theatre.
  • I watch the evening news on 3 channels (NBC, ABC and Fox), 24, Battlestar Gallactica  (I watched the original series in real time as a college student, for all you poseurs out there ;), Family Guy, and will be getting into Lost after recently covering the first 2 seasons on DVD.
  • Into road cycling, and kayaking. Don't like snow sports.
  • Into spicy food, although my wife and one daughter have celiac disease (allergy to wheat), so we really eat healthy most of the time, with special menus. When we eat out, Thai is my favorite, along with sushi. love Mexican. My daughter has a Peruvian boyfriend who is a chef, so we get treated to that occasionally.  One daughter works at a French cafe, so we eat that too.  We love garlic and will even put it into corn flakes, if necessary.
  •  For music, I love progressive and jazz fusion, as well as classic rock. Basically anybody that can really play without relying on a ProTools setup to make them sound way better than they actually are. Groups like Yes, Rush, Toto, Los Lobotomys, Dream Theatre, Porcupine Tree, Spocks Beard, Tool, etc.
  • I go to YouTube to check out bootleg concert footage of some of the aforementioned musical groups. Don't enjoy watching people being goofy.
I probably just made all you young folks feel really good about yourselves, didn't I?

Eclipse 3.2.1 Breaks CF RDS Query Viewer

Those of you using the CF RDS plugin released with Flex/CFMX 7.02 for your CF development be advised that the Eclipse 3.2.1 build may/will break the RDS Query Viewer.  I say 'may' because I haven't seen anybody else talking about this, so it could just be me.

The RDS Data View plugin works fine, and you can still see the table structures in the tree, etc., but if you click on the Query Viewer button you will get an error.  I tried this on two different workstations and suffered the consequences both times, so I backed out to the 3.2 build again, where things are working fine.

Curious to know if anybody else saw this behavior, or got it to work with 3.2.1?

Eclipse/CFEclipse USaBility

I am working on a project with the U.S. Navy, on a secured, audited network.  I am having a wonderful time adjusting to the reality that I can no longer install anything I want on my development computer (which is an addiction that is going to require a lot of rehab on my part). There is an approved list of development software that one must adhere to, and if you install something that is not on that list, you  can get into quite a bit of trouble, from what I understand.

The development team I work with is using Dreamweaver 8, and there is nothing wrong with that, but I have been using Eclipse/CFEclipse for the better part of a year, and I would prefer to continue doing so, if possible.  So I asked the question of whether or not  Eclipse is on the approved list.  As with all things Government, this could take a while to find out the answer.

In the meantime, I noticed that JRE 1.5 was already installed on the computer.  So while at home, I copied a fresh install of Eclipse 3.2 to a 512MB USB memory stick and added CFEclipse and XMLBuddy.  They are not using SVN, so I left that out, along with the nice CF RDS extensions I have been using, and MyEclipse.  I popped the stick in the slot when I got to work, and Eclipse/CFEclipse launched just fine, albeit a little bit slower than normal.

The first time I launched it, Eclipse setup a default workspace on the local hard drive, so I deleted that and placed the workspace on the USB stick as well.  I have been using it for a couple weeks now, and it works great. It doesn't install any files to the local hard drive and the only mouse-dropping left behind is the .project file left in the project directory, which nobody has a problem with.

I am hoping that eventually I will be able to install to the local hard drive, so that I can use the other plugins, but for now, this works pretty well.

Freed From Purgatory

In a previous post I mentioned I had started a new job with a local defense contractor after being pretty much self-employed since 1997.  I was brought on-board to lead an on-site effort supporting a high visibility Navy project after the original lead developer moved on.  Prior to being hired, I had what appeared to be a successful interview with the customer.  At least I thought he was the customer. Turns out the guy doing the interview is working for a competing contractor (just a slight conflict of interest) and acting as a proxy for the customer. Even though they approved the hire, and the money was there, they kept stalling.  We think the guy is holding out for his company to find somebody to fill the position. Meanwhile I toiled away at performing maintenance task and some data munging on a couple of seasoned Fusebox3 applications. We gave the customer a decision deadline which has now come and past. So I will not be working on the project I was hired for. Oh, very well.

The good news is that I got an interview for another high profile Navy project that is gaining momentum and will be going joint-service over the next couple years, as the U.S. Air Force, Army and Marine Corp adopt the program.  They have hired me and I start January 2.  I am really looking forward to the opportunity and feel confident I can bring something to the table.

One of the downers of working on large Government contracts like this is that they are slow to adopt new technology, due to the constraints imposed by the IT overlords.  I will get to experience all the wonders of Enterprise computing for the first time in my life. I already know that most of the tools I have grown to love will not be part of this endeavor, at least at first.  No more Eclipse/CFEclipse, they use Dreamweaver.  They are still at CFMX 6.1, and would eventually like to move to 7.02 or Scorpio, if they ever make the approved software list.

On the plus side, I have been given some side projects to do in my spare time, including building a new company intranet, so I will still get to play around with the cool stuff on my own time, however much of that there may be.

I do know that for the first time in ten years of so, I will be working on a contract that has 5 years worth of work on it. There is a lot to be said for that.

Another Satisfied FAQu Customer

I just received my first two Fusion Authority Quarterly Updates (FAQu, as it is affectionately called) from the folks at Fusion Authority.  I don't know why I wasn't paying attention when news about this publication was originally released, but I definitely missed the boat somehow.  After seeing  Peter Bell blog about it earlier this month (he's a contributor) I decided to take the plunge.

What can I say that hasn't already been said? FAQu has great packaging, great content, and great production.  I like the size and feel of the publications, which resemble soft-cover books, allowing them to be stacked on-end in your bookshelf.  They also appear to perfectly engineered to fit the top of the, er, john..., for those folk who enjoy an extended morning constitutional.  The advertising somehow stays out of the way, not interrupting your reading flow, unlike most other publications of this ilk.  The contributors are all top notch, and are covering the hot topics in the community right now.

Michael and Judith Dinowitz, et.al. have really done an excellent job on this effort. FAQu is a quality product with great content and well worth the subscription fee. 

Purgatory

I started a new job last week working for a local company as a senior CF developer.  The job I signed up for was supposed to be a high-vis project, with multiple applications written in CFMX 6.1/Fusebox 4.1, with plans to move to Fusebox 5.  I was looking forward to this, as I have been interested in taking a peek at Sean Corfield's work in FB5, which has gotten really good reviews. Plus it was supposed to give me an opportunity to work with a small team for the first time in a long...... time.  I was stoked.

However, as sometimes happens, things have stalled. My position is not 'turned on', and I don't mean that in the way you would want it to.  In the interim, I have been assigned to do some work on some other projects that need some attention.  For how long, I do not know.

Oh my heck.  

My worst fears have been realized. I have now inherited 3 projects left by my predecessor, all using different frameworks/versions and no documentation.  He left several weeks prior to my arrival, so there was no formal turnover, although I did get him on the phone for about 30 minutes.

The one I am working on now is a Fusebox 3 application without the Flip and Fusedocs.  The database is Access and there is a printed ER diagram, but no CASE tool, and no descriptions of what the tables are for, or what the fields mean. I know about what the application is supposed to do, but I don't understand the business domain at all, and I was forced to meet with the clients to discuss changes *before* I ever laid eyes on the application.  Yowza.

My next one is one that is 95% complete according to the former developer, and it is written in Model-Glue Unity.  Again, I have a rough idea of what it is supposed to do, but there is no formal documentation.

This company has a lot of CF developers, but they are spread out at client facilities, and there clearly has not been an effort to standardize anything where development is concerned.  Maybe I can help them with that.

On a positive note, I should get some good experience working with several flavors of Fusebox and Model-Glue Unity.  However, since the projects are already way down the road, the clients are starting to complain about late deliverables.

This is going to be painful for a while, I just know it.

Sapien Releases PrimalScript 4.1

Sapien Technologies announced ealier today the release of PrimalScript 4.1, a world class scripting editor and IDE.  New features include extensive support for Windows PowerShell (codename "Monad"), Microsoft's new command line shell and scripting language, as well as other major enhancements. 

While mainly focused on Windows scripting chores, PrimalScript supports over 40 languages, including CFML, ActionScript, Flex, Ruby, PHP, and Python.  I have been using the Enterprise edition of PrimalScript for quite a while, and it is a the best IDE I have ever used in terms of features and speed.  The Enterprise version features a top-notch XML editor/validator, Visual Query Builder and FTP client, with one click deployment to multiple hosts.

I moved from PS4 to Eclipse/CFEclipse a couple months ago, after Adobe released the CF RDS tools with FlexBuilder.  I had also been playing with Subversion/Subclipse for source control, which PrimalScript didn't support. However, things have changed and I plan on taking a look again.  Some of the features I am personally excited to try include:

  • CVS/Subversion support - You are now not limited to just support for VSS as your source control system
  • File Histories - This is a poor man's source control system PrimalScript keeps mulitple versions of your project files without the use of  a source control system
  • Task Manager - I had asked for this one personally, nice to see they delivered. Provides the same type of task/todo list support found in Eclipse/CFEclipse

I will go into a full review and comparison at a later date, but if you are using Windows as your development platform, you should give PrimalScript 4.1 a try.

Plum Redux

Development frameworks are a hot topic in the ColdFusion (or any development) community right now. Many consider them essential to developing maintainable, scalable applications. Other's decry community frameworks, arguing that they are crutches and add unnecessary complexity to solving their business problems.  I won't rehash these arguments (Google to your heart's content), but I will point out that there seems to be enough interest in CF frameworks, that Michael Smith and TeraTech are sponsoring a Frameworks Conference in February 2007. 

One framework that sadly won't be represented at the Frameworks Conference is Plum, and that's a shame, because I believe Plum rocks the house.

ColdFusion was originally a Windows-based, procedural, web development environment. When Macromedia acquired ColdFusion from Allaire and subsequently rebuilt it on the J2EE platform, we began to see the beginnings of the "javafication" of ColdFusion.  ColdFusion Components (CFCs; essentially object classes) were added and object-speak started to become pervasive in the community. This has really picked up steam recently, as many developers with Java backgrounds are moving to ColdFusion, bringing with them their best practices for Enterprise team development, Macbook Pros and Linux backends. We now have a slew of Object Oriented (OO) frameworks like Mach ii, Model-Glue Unity, ColdBox, etc. which have adopted the Model-View-Controller design pattern and use XML configuration files.  Even Fusebox, arguably the most widely adopted CF framework, has been morphing from a procedural framework into a OO hybrid.  Do I see this as a bad thing?  Not at all.  I see it as a necessity for ColdFusion to continue to evolve and be taken seriously in the Enterprise development space, which I believe must succeed for ColdFusion to have any long-term viability.

However, let's remember that CFML is *still* a procedural language, and not everyone wants to be an Enterprise psuedo-java developer. There are scores of smaller shops out there that run exclusively on Windows, and use ColdFusion to provide products and services for their customers, who have absolutely no interest in OOP, MVC, etc.  They are focused on getting their projects out the door as quickly and cost effectively as possible, and the luxury of studying and rewriting  their apps using MVC may not exist for them.

It is possible to write large, performant, scalable web applications with ColdFusion without going the down the java-lite route. If you're not into rolling your own, Plum will help do this for you, and very quickly.  Plum was originally an internal framework built by Adam and David Churvis at Productivity Enhancement.  For those of you who don't know, Adam and David co-authored the ColdFusion MX Bible, along with Charlie Arehart and Hal Helms. Their chapters on advanced database concepts and custom tag development are worth the price of the book alone. They are widely recognized for their database and scalability prowess, in addition to being excellent trainers. They espouse development best practices. Plum represents the best of their development and training philosophies.  And it is available to you as a development and/or learning tool, free of charge.

I have been using Plum as my main CF framework for about 3 years now (since the first alpha), and have built about 14 applications with it in that time. Most are not public facing (I do a lot of intranets), but some of these are outsourced projects for some well known companies including British Gas, Sun  Oil (Sunoco) and Merrill Lynch. I have not once encountered an error from one of these applications that wasn't directly induced by me or was a recognized bug in CF. 

You don't see a lot of traffic on the Plum mailing list nowadays, and I believe one of the reasons is because the framework core files are so bug free that you don't have a lot of problems. Another reason is because not many folks are adopting Plum anymore for various reasons.  Perhaps the foremost is that Adam and David are now focusing on Microsoft .NET technologies, and there are no immediate plans to further the development of the CFML version of Plum. It works fine now and there are only a couple of minor issues.  Other reasons include the fact that there is no support for MySQL or Postgres, and that the code generator is a Windows .NET application.

I plan on frequently blogging on Plum, if for no other reason that those of us in that community can share tips and tricks, show off some sites we have done, etc. There is a lot to talk about. We might even be able to address some of the shortcomings with the Churvises blessing down the road if there is interest.  So if you are a Plum afficionado, please stay tuned.

P.S. On a side note, I have just been hired as a full time developer working with a small team on a long term Fusebox project.  You can expect that I will be devoting some time on this blog comparing and contrasting the two frameworks and methodologies.

Papa's Got a Brand New Gig

I will be starting a new job on November 16th, under the employ of Sierra Management and Technologies, Inc.   The position is is for a senior/lead ColdFusion developer working on a project I can't talk about, or I will have to shoot both of us!

I am excited about the opportunity, and sad that I am having to leave KR Systems.  The people there are fantastic, and Gail and Dave Kelley are some of the most gracious folks I have ever had the pleasure of knowing. I will always treasure my memories of working there.

The new position with Sierra offers a lot of opportunity to be involved in a very high visibility program, and I will work as part of a development team for only the second time in my career.  I am moving out of my home office for the first time in 12 years. Whew!

While I don't know many of the specifics of the projects involved yet, I do know we will be using ColdFusion MX 6.1 running Fusebox 4.1.   I was originally told we were using version 5, but I later spoke to the developer I am replacing and he confirmed it is FB 4.1, although I am not sure whether they are using MVC or not.    I have never been a fan of Fusebox as an individual developer ; I always felt there was too much complexity for little return.   But I am vowing to keep an open mind here.  A lot of very highly respected developers/teams use Fusebox and it is prevalent in the Federal Government

So I have started woodshedding to begin coming up to speed. It will be a challenge, but a welcome one. I was starting to get slightly complacent and it will be nice to shake things up again.

More Entries

BlogCFC was created by Raymond Camden. This blog is running version 5.5.001.