Friday, July 31, 2009

The Mythical Man-Month

I have recently completed my reading on the "Mythical Man Month" by Frederick P. Brooks, Jr. This book was written over 20 years ago about software development. After 20+ years, a lot of the observations made by Mr. Brooks were still very relevant. One of the takeaway for me was the importance of conceptual integrity. Nowadays, software are so complex and the turn over of developers so great that no body have a good idea of how the application works anymore.

Combine the complexity of software with the get-rich-quick and self-entitled generation, very often the conceptual integrity wasn't even sound in the first place.

Often times, I see people come on and off projects. Perhaps people take the whole joke about "cogs in a machine" too literally. It was assume that a few weeks of "Knowledge Transfer" session was suffice for the project to continue humming along.

This is why the recent paper by Tom DeMarco really struck a cord with me. With todays metric-centric project management towards software development, Tom DeMarco comes out to clarify his often mis-quoted phrase "You can’t control what you can’t measure". In fact, last week I just came back from a internal week-long training. The entire training rally around the quantitative portion of project management and de-emphasize the qualitative part of management.

Unfortunately, the discipline of project management seems to continue centered around workplans and metrics. There are droves of "managers" with their glossy PMP certificates which ask their "sub-ordinates" to create a MS-Project plan. Then they put those plans together into a "master-workplan" and chase people for their ETC. Where the heck is the "management"? These are merely administrative task. Yet, companies continue to pay "Project Manager" big money merely to do administrative task.

When you have "project managers" who "manage" your software development project, who proudly proclaim they have never written a line of code, it is time to get our of that project.

Thursday, July 30, 2009

Wolfram|Alpha

The folks from Wolfram has an ambitious goal:
Wolfram|Alpha's long-term goal is to make all systematic knowledge immediately computable and accessible to everyone.
After trying it out a few times, it proved to be a valuable tool. For example, couple of weeks ago, my friends and I were talking about Y2K, the IT boom of the late 1990s and early 2000s. The topic of when is next IT boom (if there is one come) was inevitably brought up. Being a nerdy bunch, we all know about the limitation of time in a lot of computer systems. Since in a lot of system, time is defined as the number of second from the Epoch time (January 1 1970) where the storage mechanism is a 32-bit signed integer, it is fairly easy to see eventually, the number of seconds from Epoch will exceed a 32-bit signed integer.

So when is the exact time?

This is where Wolfram|Alpha comes in handy. Simply type in "1 January 1970 + (2^31-1) seconds" in their input text field.

So it is on January 19, 2038. That's still a long way away. Maybe all system would have moved to a 64-bit platform by then, or maybe not?

Monday, July 20, 2009

The Scala Bandwagon

Learning a new language was not as easy as I thought. Especially learning a whole new language paradigm. I am going to collect a list of useful Scala resources in this post and see where that rabbit hole leads me to:

Official Scala Language website:
  • Learning Scala
  • Scala IDEs - I am so accustom to IDE, I can no longer go back to the VI days. This might actually be a bad thing though. After all, it is a good idea to learn all the fundamental tools of a language before moving on to tools aim for productivity.
Other Articles:
  • The Seduction of Scala - 1 of a series of articles of where Dean Wampler venture into the Scala. This is probably a good place for me to start as his motivation and background to venture into Scala is very similar to mine.
  • Mixing Java and Scala - A practical approach on how to introduce Scala to an existing Java project.
Other non-learning readings:
Update:
  • There got to be a way easier than cutting and pasting links on a blog post. Long and behold, delicious came to mind. I am ashame to be so late to the delicious game. Here are my Scala bookmarks.

'IAMRICH' Mustang

On nice sunny day on my way to a golf course, I came across a white convertible Mustang with a 'IAMRICH' license plate.

Seriously, with a white Mustang?!

Friday, July 17, 2009

That's a wrap

After more than 2 years at THE project. It's a wrap. It has been a great experience for me from meeting with executives to talk about the vision and strategy, to staying up all night for production cut-over, to fixing code defects shoulder-to-shoulder with developers. It was an end-to-end experience for me.

After 2 releases, it was complete. As a proud nerd, I had to make a lot of sacrifices. Sometimes, technical elegance is not what business needs. The difficulty with an Architect is balancing all aspect of the project, weighing in technical challenges, budget, business needs, ROI, team mix and capabilities, this is truly work of art which no methodologies could replace.

Quality Center and Vista

My laptop was recently updated with the latest corporate image. The OS is Vista. For all the fancy graphics came with a price.

As a consultant working on enterprisy projects, HP's Quality Center was inevitably part of the mix. The URL no longer works for me!

Well, it took some serious Googling and investigation to find out what the problem actually is. I guess the problem stems from the new security feature which all process are no longer run as "Admin", the the ActiveX controls in QC requires "Admin" access.

To get around this, I download the standalone QC Explorer and make sure I ran it as an "administrator". Voila, back in business.

The URL for QCExplorer is at http://updates.merc-int.com/qualitycenter/qc90/others/qcexplorer/index.html

Thursday, July 16, 2009

Year over year improvement


Thanks to a friend of mine who introduce me to the game of golf. I have started to play golf seriously 4 years ago. I can't believe it has been 4 years! Adhering to the characteristics of a true nerd, I have gather some statistics of my game to chart my progress. So far, progress looks good, but I am beginning to see a leveling curve (not good!). Oh well, it is hard to keep up with a linear improvement while only being a weekend golfer with a full-time job!

Unfortunately, I was not rigorous enough in keeping other important statistics such as fairway hits, putts and green in regulations. I guess I should really start to keep these stats to help chart my improvement, and take a high-level analysis on what area of my game I could focus more on.