MBA - Orientation

I am going to start part-time MBA this fall at Jenkins School of Management which is part of the North Carolina State University. Today was our first full day of orientation which turned out to be very informative and exciting. The day started with breakfast and an introductory session by the Dean of Business School. It was followed by following sessions and then lunch (which was just ok).

  • Academics and course sequence
  • Logistics
  • Q&A session with existing MBA students
  • Career resources and coaching available to NCSU MBA students

However the most interesting part of the entire orientation was the team development session by Dr Tony O'Driscoll who is definitely an excellent and entertaining speaker. I'll try to write more about this session later however these were few highlights.

  • How to be effective and efficient at the same time
  • Paradigm
  • P/PC Balance
  • Ladder of Inference
  • Win-Win Thinking

Overall I am feeling excited to start this new chapter in my life. More about all this later.....

Site was down briefly

My site was down for almost two weeks as I wasn't aware that my hosting company decided to phase out the server where this site lives. I was in no position to complain as this site was hosted there for free :)

Anyways last weekend, I decided to move the site to a new host HostingAtoZ whose prices are very reasonable for a site like this which doesn't get a lot of traffic.

Everything went smooth except that this new host has setProfileString and getProfileString functions blocked which are used by the version of BlogCFC running this site. Anyways it took few modification to the code based on the direction here and everything seems to work well (at least for now).

Happy Birthday - Ahmed Rasheed

Last weekend was a memorable day for our small family. It was the first birthday of our cute little son "Ahmed Rasheed" who was born on July, 12th last year. I am sure those of you with a kid in the house will be in agreement to the excitement and happiness that surround this great milestone.

Time really flies very quickly as it just seem like yesterday when we brought Ahmed from hospital and probably for the first time in my life, I was feeling very nervous while driving. Anyways we are thankful for such a great gift and wish him a great and prosperous future.

CFLog4j - Interesting enhancements by Eric

I wrote cflog4j last year while working with an application at work that needed significant amount of logging. CFLog4j is essentially a ColdFusion based wrapper around the powerful Java library for logging i.e. log4j. I also wrote few Fusebox lexicons to log activity from the circuit files as that was the framework of choice at my last job. I haven't had a chance to improve and extend the original code for a while now. However Eric Knipp has been doing some excellent work with this project. Here are few blog posts related to this topic.

  1. ColdFusion and Log4j
  2. ColdFusion & Log4j Part 2 - Writing Logs to a Database
  3. ColdFusion & Log4j Part 3 - Custom Attributes and Mapped Diagnostic Context

Thanks Eric!

New job - new beginnings !!!!

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

I recently finished 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

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

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

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

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

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.