Slides and Code from My Code Generation Presentation

As promised, here are the slides and code from my cf.Objective() 2008 presentation, "Leveraging Code Generation to Jumpstart Your Development". Check the bottom of this entry for the enclosure.

So far the conference has been great. I've learned a lot at several sessions, including Andrew Powell's integration presentation on using Spring and Hibernate as the Java model for an app using CF for Controller and View. Chris Scott's ColdSpring presentation got my wheels turning with regard to custom Proxy Factories. And the announcement of the ColdFusion Open Initiative was most welcome, with a public bug base and more organized enhancement request system.

I'll post more after the conference is over, but so far it's been as good as I expected it to be!

Want Free Subversion, Trac, Mylyn, and More? Of course you do.

If the idea of 500 Mb of free Subversion, Trac (with XML-RPC access for things like Mylyn), Wiki, and a whole lot more sounds like a good thing to you, check out Assembla.com. I signed up last night and am really quite floored.

This thing has virtually everything one could want in a project management, source code, ticket tracking, and team collaboration setup. And again, it's free for up to 500 Mb of stuff. And after that it is a paltry $12.50 per month for 5 Gb of storage, plus a few extras like https access.

I've been hosting my own SVN locally but have increasingly been thinking about moving it to an external service so that I can get to it from anywhere. This seals the deal. So far, Assembla has been very impressive, and if it keeps up, I'll be springing for the $12 commercial account and be done with it.

Have a look if you have been thinking about jumping on the Subversion or Trac bandwagon but don't have the time or inclination to set up your own server. And if anyone else has been using Assembla, please share! Thanks.

Development Tip: Change Your Coding Font

Just posting a quick tip about a topic that most people would probably not consider: changing your font in your IDE. I highly recommend Consolas on Windows, and the very similar Inconsolata on the Mac, which are by far the best fonts I've found for coding. It sounds a bit crazy, but a little thing like this can make a big difference in your productivity, especially when you're literally staring at it all day! Check it out compared to Courier New, a common default font:

Consolas / Inconsolata:




Now Courier New:




To me, the difference in sharpness and clarity is quite significant! Give it a try and see what you think.


For Users of Eclipse, SVN, and Trac: Mylyn Utterly Rocks

I've been using Eclipse as my IDE for a while now. It's just far too sweet to have my CF IDE and Flex IDE together, plus XML, CSS, HTML, ANT, and all the rest. I've also been a Subversion zealot for a long time. Quite frankly, if you're not using Subversion, for everything related to your development, then you're nuts. And a glutton for punishment. This means all of your code (yes, even those stupid little tests where you try something out), but also all of your documents, database schemas, SQL queries, ANT build files, etc.

But this entry isn't a plea to your logical side to use Eclipse or SVN. I'm assuming you already are. No, this entry is about integrating Trac task management into Eclipse through the Mylyn plugin.

Put simply, Mylyn kicks ass. It links to your Trac repository via web interface or, better, XML-RPC. If you don't have Trac, consider using a service like CVSDude which includes SVN and Trac, or setting up a fully configured virtual server using Jumpbox.

Once you get things set up, Mylyn allows you to handle all aspects of task management from right inside Eclipse. It ends up looking like this:



As you can see, it gives you a full list of Trac tasks. You can sort or categorize these any way you want to. It lets you do a "focus on the workweek" mode, which limits what you see to only tasks due this week. You can create, modify, or close tasks right from Mylyn, no need to work with the crappy Trac web interface. This alone is really great, but it gets better.

Mylyn lets you attach a "context" to any task. This means it will keep track of what files you are working on that relate to the current task. So if you come back to a task later and activate it, Eclipse loads the attached context and shows only the files and resources that have to do with that task! This is great since it makes it much easier to work on a task without seeing a bunch of unrelated files. Of course you can choose to show everything in your workspace again if you need to add more files to the context. This is really a great idea.

Finally, if you have the proper connection set up between Subversion and Trac (which CVSDude and Jumpbox do), you can close Trac tickets directly in your commit comments! So if you commit with a comment like "Fixes #188", ticket 188 will automatically close and have a comment added that references the Subversion revision that closed it!

All of this really creates a full-circle version control and task management capability, all from within the IDE. More details are available at the Mylyn page, or you can read a more thorough article at IBM. I'd urge anyone to have a look at this very cool plugin and enjoy the immediate workflow benefits. And to anyone already using Mylyn, feel free to share your experience or any tips you have.

Get Model-Glue Training, With ColdSpring, Transfer and Reactor Too

Just a quick note that Doug recently posted about a sweet price decrease for his first Model-Glue training class. Setting up a training business is difficult so the price drop doesn't surprise me at all. You really need to build up a base of happy students who spread the word, and in the beginning that means you need appealing pricing.

Well, this is good news for anyone interested in building their ColdFusion skill set. Not only will you get a good dose of Model-Glue, from the basics on up, but there are course sections on CFCUnit, ColdSpring, Transfer, and Reactor as well. Given the number of questions on various lists and blogs about MVC, dependency injection, object-relational mapping, and general object-oriented programming concepts, this seems like a great way to get your head around a lot of topics quickly and efficiently. Just because some of us long-time CF'ers had to beat our heads against he wall trying to learn things doesn't mean you have to! (I could also tell you about walking to school in the snow uphill both ways...)

Anyway, the upshot is that anyone in the midst of trying to learn these things should definitely have a look at the class. $800 is just really darn cheap, and I wouldn't expect it to stay at that kind of price point for very long. Get in while the getting is good.

More Entries

BlogCFC was created by Raymond Camden. This blog is running version 5.9. Contact Blog Owner