New job - new beginnings !!!!

2008 July 14

Last week was my last at INDUS Corporation where I worked for almost 5 years on a government contract with NTP. I started my career at INDUS as a junior programmer and worked my way up the corporate ladder to become Project Manager/Technical Lead. I truly enjoyed my career at INDUS and made some good friends. However now I feel that it is my time for a new challenge and experience. Today was my first day of orientation with SRA International where I will be working as Sr Software Architect Lead on a goverment contract with NIEHS. I am very excited about this new and challenging opportunity as I'll be leading a team of 5-6 developers. We will be providing support and maintenance for over 50 ColdFusion applications and developing new ones as needed. "Act as if what you do makes a difference. It does." -- William James

Tools for Agility

2008 July 02

I recently finished reading a short article titled "Tools for Agility - White Paper" written by Kent Beck. I am using this blog post as a reminder to myself to revisit this article few months down the road. Kent provided a concise and to the point view of agile software development and dismissed various false notion about this practice. Here are few personal takeaways 1. Agile development seeks to increase the value of software development by an increased collaboration between customers and developers. 2. Individual and interactions are more valuable than processes and tools as processes and tools represent common situations. Tools and processes will be likely unable to adapt to any uncommon situation whereas human can. 3. With an outgrowth of Agile development, driving shorter release cycles, tools need to support frequent transition between activities. 4 Principal of flow - All other things being equal, frequent delivery of smaller batches of functionality is more valuable than infrequent hand over of larger batches of functionality. 5. In contrast to a miniature waterfall, agile development quickly integrates analysis, coding and testing and set up a quick feedback loop. 6. Transparency - Every quantitative change of an order of magnitude creates a qualitative change. Kent cited Test-Driven Development (TDD) as an metaphor where TDD encourages programmers to accept primary responsibility for the quality of their work. 7. A common activity for agile teams is toolsmithing. You can view the article in it entirety here Tools for Agility

CFUnited - code and presentation

2008 June 29

As I mentioned during the session that I'll be releasing the code after the conference. It took me a while as some work related issues took precedence. Anyways without further delay, you can download the code from the following links

I appreciate the patience as several folks have emailed me to inquire about the code.

CFUnited 2008 presentations available online

2008 June 26

Folks who were unable to attend this year CFUnited conference, there is good news. Several presentations were recorded via Adobe Connect which IMHO is far better than power point. My presentation for titled "Continuous Integration with SVN, ANT, CFUnit and Selenium" can be find here. The entire list is available on CFUnited blog Also I'll be releasing the code and presentation hopefully this weekend. Thanks

Eclipse - Configure ANT Home

2008 June 25
tags: Ant

One thing that I mentioned during my first presentation at CFUnited was to change the ANT home in eclipse preferences. Eclipse comes bundled with ANT however I like to keep ANT in one central location as

  • All ANT external jars can be placed under ANT/lib folder. In this way it becomes available to all Eclipse projects
  • It is easier to upgrade to a newer version of ANT if one becomes available
  • If I've to switch machines, I can just copy the ANT folder to a new machine without much fuss

These are the steps to change the ANT home for Eclipse

  1. Download the latest ANT distribution from here and unzip it to a folder in your drive e.g. c:\ant
  2. Go to Windows -> Preferences
  3. Browse to the ANT section either by clicking ANT or using the filter box on the top.
  4. Under Runtime you'll see an entry for ANT Home. Click the button "Ant Home" and browse to the directory where you have unzipped ANT distribution
  5. Click "Apply"

Hope that helps

Subversion 1.5 released

2008 June 25

Subversion development team has released a version 1.5 of the awesome source control system with several new features. My favorite feature one is "merge tracking" as defined in release notes as "Merge tracking means Subversion keeps track of what changes have been merged where. This reduces the overhead involved in maintaining branches, and gives users a way to inquire what changes are merged -- or are available to be merged -- on different lines of development". We follow a structured release process at work where before production, we will create a release branch for the code. This branch is where we will run our integration (selenium) tests, fix last few bugs and things of that nature. Presently we have to keep track of those changes individually and ensure that those are merged into trunk appropriately. Subversion's "merge tracking" feature fixes the manual figuring of which changes need to be merged between branches. Instead you just tell Subversion you want the branch changes merged to the trunk, and it figures out what to merge. Pretty neat. However for some of the feature in new release both client and server have to be upgraded.

Back home from CFUnited

2008 June 22

I got home late last night after a long 5 hours drive to NC and then I slept like a baby for more than 12 hours. My sessions went really well especially on Saturday as I wasn't expecting such a great attendance. Seeing 30-35 people in the class on the last day of conference (almost the last session) really made my day. This was my first time speaking at CFUnited so it was all a wonderful experience. As mentioned during the session, I'll be posting the code and the slides on my blog later. Thanks to TeraTech for putting together such a wonderful and exciting conference.

June 13 - Present Continuous Integration to the Online ColdFusion Meetup

2008 June 12

I am speaking at this year CFUnited on "Continuous Integration with ANT, SVN, CFUnit and Selenium". Charlie Arehart, who runs the ColdFusion Online Meetup group, gladly accepted my offer to do a short preview before the conference. You can find more details and RSVP here As mentioned on the meetup site, this is not the full presentation and just a preview to give CFUnited attendees a chance to decide if they want to see this presentation at the conference. The session starts at 6:00 PM (EST)

Introducting CFPrototype - a prototyping toolkit

2008 March 24

CFPrototype toolkit can be used to create html prototype of an application. We have been using something similar at work where we develop software by using the Fusebox Lifecycle Process (FLiP). FLiP focuses on obtaining feedback from the client early in the development cycle. HTML prototypes are created that have minimal code logic and database interaction. The focus is on making sure that the layout and presentation are correct. This is accomplished by using a threaded discussion system in this prototpye toolkit. The client can make comments on any page in the prototype by using the notes at the bottom of each page. The client and the developers collaborate on the prototype requirements using these notes to exchange comments. When the client determines that the prototype is an accurate representation of how the final application should look and behave the prototype is baselined and system architecture can begin. Following are the few technical aspects of this small application

  1. Uses Fusebox version 5.5.1 as the controller framework with no-xml
  2. Uses Javascript prototype library version for Ajax, event handling, class inheritance and templating.
  3. Nested set model is used for notes hierarchy.

You can download the toolkit from riaforge at CFPrototype A demo is available on my website at CFPrototype Demo Comments are always welcome and I hope that folks find it useful.

Adobe Developer Week 2008

2008 March 20

Next week Adobe is running a series of online seminars discussing various Adobe products and technologies. Topics include ColdFusion 8, Flex 3, BlazeDS, AIR etc. I have signed myself for few of these. Adobe Developer Week 2008 Enjoy.