Month: September 2008

Falcons Vs Indus – 2008 Qtr Final Match, DCL

Falcons have been playing in the DCL league for last 5 years and 5 years in the row, they reached the qtr finals (Final eight) and they never reached to the semi finals in last 4 years. Two teams in the league, GLCC and Brownstown knocked them out two times each in last four years. First GLCC in 2004, I still remember that game where the leg umpire from cougars gave out for a run out (Matta’s) at the non strikers end. Still remember few crucial catches missed by Falcons during the critical time. In 2005, it was Brownstone. We were close to win the game. It rained in the middle. We started again, we required 20-30 runs in 12-15 overs with 8 wickets in hand and still lost it. In 2006, it was GLCC again. It was a low scoring game, we scored around 60 runs and GLCC did have no problem scoring it. In 2007, it was Brownstown, we scored around 120 runs and they chased it.

It is a big relief that neither of the team is our opponent in the 2008 quarter final. Nonetheless, Indus is a strong team and it was the first team in the 2008 regular season challenged Falcons and we managed to win with Sudir C’s heroic efforts. Their fielding, in particular was exemplary in the league. They had few dangerous quick bowlers and strong depth in their batting.

Pregame planning

Strategy against the Indus was very simple. If bat first, score 100+ or if we bowl first, restrict them below 65. We all know what we all gotta do. Our roles, batting order, bowling order, bowling strategy, batting strategy, fielding position, approach, tactics, all clear to every one. We can’t wait to execute the clearly defined plan on the game day.

Batting..

Toss won by Falcons and as per the game plan, we decided to bat. Babu and I went to open the Falcon’s innings. Indus have their sharp, dangerous bowlers to start the innings. Babu scored a quick single and I was facing my first ball. The first ball was bowled at out side the off stump ball, little short to a good length ball. The ball to be punished. Their field setting had 5 players on off side and 3 of them very close. Went by the instinct, pulled the ball to fine leg (technically, a risky shot to play in the first over) and fetched two runs. The next ball was almost the same ball, this time, I hocked it (not a pull) and I thought it was going to get a six but fetched only a four. The next 3 balls were bowled at a very good length on on side and received the necessary respect from me. All those three balls could have been treated harshly but did not want to take a risk in the first over. In the second over, Babu again scored a quick single and I was facing this new bowler (Justin, I think his name is). It was a very good length ball, bowled to middle wicket, I paid my respect, went front foot and defended. The ball looped, raised 30 degree and due to its pace it traveled enough to reach the fielder at short cover. Azim took a simple catch. I could not believe what happened there. I knew there was 5 players on off side and 3 of them were close. That is the only reason I hocked and pulled in the first over. I should have driven the ball instead of defending it. I was out in the second over. I was kicking myself and what was point? No point. I was out.

Raj, the days are yet to come to see him scoring tons of boundaries in a match. He is a true pinch hitter. He does not take even a single ball to settle down. He plays by his instinct. He was unlucky again to be trapped before the wicket for a low kept ball. He scored just single in this game. Sudir P, another text book shot player from Falcons joined Babu. He not only supported Babu on the other end, he pulled few boundaries, made singles and doubles. The score board was ticking at a regular pace. Sudir P was bowled by a spinner. It was really a great ball. The ball pitched on off side, a good length ball. Sudir P, took front foot to block it. The ball took 25-30 degree turn and took his leg stump. Great ball. Bowler had a little bit of Abdual Qadir style. Matta, the super star of the league, joined Babu. He scored few furious boundaries before we was caught at the deep mid wicket. It was a splendid catch. Unbelievable to some extend. I never thought Indus was going to take that as the catch. They did and Matta was back to pavilion. Meantime, Babu was playing superbly, scoring singles and doubles. Sai joined Babu. It was the last over before break. Sai was asked to play cautiously. He was forcing himself to play defensively. The score board showed around 50+ during the break for the loss of 4 wickets. In the last but one ball, Sai was out, chasing a outside delivery and caught by the keeper. Keeper missed it but managed to grab it again. Sai was the fifth victim from Falcons and Piyush joined Babu. Both played really well. Had a good partnership. Piyush scored boundaries along with Babu before he was caught again by the surprise by Indus fielders. Babu exploded and got aggressive. He drove a long on shot and Indus took another impossible catch. Indus so far displayed how they could create opportunities in the ground. Keshav, Hari and Sudhir C all fell with slight modification to the score. Hari wanted to take a run when the non striker was not comfortable and ended losing his wicket. Sudhir C, who won the game for Falcons against Indus during the regular season also got out. Keshav’s shot in which he got made me to think. Srikanth scored pushed the scored board little before he left with no partners from the Falcons batting order. Falcons managed to score 94 when the likelihood of scoring 120+ was high at one point.

Bowling

Indus started their innings really very well. They scored around 20 runs in 3 overs with out any lose of wicket. We were challenged and think tanks (Matta) quickly changed the bowling and brought Matta and Sudhir C to bowl. The first wicket was fallen in Sudhir C’s over. I was little puzzled how the wicket was fallen but I was told it was LBW. In next few overs, they scored few additional boundaries and Falcon’s bowlers also helped with adequate wides. The score board was moving faster than Falcons wanted. Suddenly, a little over pitched ball was bowled. The hard, powerful driven shot was offered and it sent the ball towards covers in the air above 1-2 feet above Matta’s head at the speed of atleast 60 mph. Matta, with his greatest reflex, quick jump, strong arm not only stopped the ball but also graped and stuck into his palm. Yes, the second wicket of Indus was fallen by the greatest catch made by a Falcon this year.

Nitya, one of the coolest, talented, smart cricketer in this league joined the batting. Matta and Sudhir C combination worked but didn’t continue to work. In some cases, the extras were flowing freely. Think tank again made the right decision to bring the trump card, Babu. Babu bowled unbelievable deliveries before Nitya was bowled by his ball. So much relief in everyone’s eyes after Nitya got out but we also know their batting depth is so deep. The next batsman walked in, Raj was telling before the game that he is literally scared of his batting. He can’t bowl when he bats. He is the danger man of Indus. He can change the course of a game in matter of minutes. He can clear the boundaries and true heavy hard hitter. Srikanth walked up to me and told me that I should stand up to Babu. There are bowlers like Babu, who claim they are spinners and they bowl faster than some of the medium pace bowlers. I told Srikanth, standing up to Babu will not help to take the catches and told him I will stand down for him.

Babu continued his bowling and the danger man was reading babu’s bowling by defending, pushing and missing it. He decided he read Babu’s bowling and went for his hard hit shot. He read it wrong and the ball was traveling to the short fine leg. I was just running beneath it and I took it. It was not a difficult catch but it was very crucial wicket. Our hopes increased. Meantime, Matta and Sai bowled two more batsmen. Sai (expect his wides) bowled excellent deliveries. Srikanth and Keshav were brought back and disturbed the batsmen periodically.

We had to get 3 wickets and Indus had to score around 40 runs. Likelihood of our win was high at that point. Suddenly we were losing the game by giving boundaries, wides, extra balls, not materializing the run outs. Made quick adjustment to the field and the ball was hit so high to Keshav. He took a beautiful, well judged match winning catch.

The last two batsmen still troubled Falcons and ticking the score board. They required 25 runs and we required 2 wickets. Sudhir C bowling fetched a caught behind and the last wicket was run out by an excellent throw by Raj.

Finally Falcons broke the jinx and moving to the semi finals.

Patterns in software engineering – An Introduction

What is a pattern? (in software engineering world)

A predefined solution for a problem for the given context.

Key words in the above definition is problem, solution and the context.

What are the different categories of the patterns ? (in software engineering)

  • Analysis patterns
  • Design patterns
  • Architectural patterns
  • Technology patterns
  • Integration patterns

Why do we use the patterns?

Objective of patterns is to enhance

  • Reusabililty
  • Repeatability

in return will fetch

  • Cost efficiency
  • Agility (time to market)

Where the pattern concepts started in general ?

The pattern concept has been in use for thousands of years. In the building architecture and design, we have been using the patterns quite extensively. Ancient buildings like pyramids, roman collegium and lot more used the patterns in the implementation. For instance, the pillars used in ancient temples built in Thailand, India and etc are patterns. They did not design the pillars every time. The pillars are to hold the load of the building. We can notice the reusability and repeatability of the pillars in multiple places in those ancient building architecture which in returned improved the ancients to be effective and quick.

What are the types of patterns in each category?

There are conceptual, logical and physical patterns in each category. Conceptual patterns are very high level solution for the given problem at the given context. Physical patterns spells out the implementation solution for the given problem at the given context. Logical patterns are between physical and conceptual.

Infrared LED – A Testing Procedure

The crude testing of Infrared LED did not work as per my previous posting. I continued to investigate. I realized, I was trying to test the functionality of the Infrared led by my naked eye. We can not see the infrared and so, I’m not the qualified person to test the infrared LED using the naked eye. The videos I watched had the infrared LED emission. So the cameras can capture the Infrared but not the naked eye.

Took my cell phone video camera and looked the LED through it. BINGO.. it works. Tested the TV remotes. ie. Looked the TV remotes through the video/photo camera and I could see the infrared light.

I wanted my blog more focused on the IT strategy and enterprise architecture. I promise, after my white board project, I will try to limit the computer, electronics engineering discussion as much as possible.

Wiimote – WhiteBoard Project

I do not like playing computer games. In my opinion, playing computer games is wasting time. I have been using the computers since 1989 (second year in my computer engineering course) and since then I must have had spent totally less than 10-15 hours playing computer games. 90% of that time, I spent playing the snake game in MS-DOS.

My son, who is in the first grade, has been asking me for a quite a while, to buy him a Nintendo Wii and I bought him one just last week. I was amazed by the design. I found simplicity, elegance, adaptability, usability in the architecture of the system. I felt, it is like iPod in the gaming industry. (Well, this is the first gaming console I bought, may be, all other gaming console are like this. But I do not know). I was so impressed by their design and architecture. Curiously and quickly, I jumped into the tenure of understanding the internals of Nintendo Wii. Meantime, I played Wii sports (tennis and golf) with my son.

In my short tenure, I realized

  • Developing games in Nintendo Wii has a huge market
  • The Nintendo development SDK is not widely available
  • The internals of Nintendo is not available for public
  • The Wii remote (widely called Wiimote) is an infrared emitter communicates via blue tooth.
  • Kids are addicted to these games (spoke to 5-6 kids , my friend’s son/daughters, my son’s friends)
  • It is very expensive and not readily available in the market
  • Does not have open standard browser
  • Nintendo Wii has an wireless connection (a minimum security is a must) and connects to internet

Nintendo wii remote has more attention in general than the Nintendo console. Johnny Chung Lee‘s enthusiasm and his videos effortlessly motivated me to try/experiment his findings. The Wiimote white board project is most interesting to me since it will have both professional and personal benefits. I started working on this projects a couple of days ago. (weekend project). Here are my findings.

  • None of my five home computers had an internal bluetooth. Bought Voice star (Cat. No. 17-1000[A], FCC ID. S76Bt-36)bluetooth 2.0 adapter from Radioshack. It is $10 USD.
  • Bought battery holder, 1.5 v battery, Infrared LED, switch
  • Tried to establish the connection between Wiimote and laptop (HP dv9913cl Notebook PC, 64 bit Windows Vista, bluesoleil 6.2.227.11 driver )
    • I tried all combination. It did not work. I spent almost 15 hours in the attempt to make it functional. Tried all possible combinations I could think of. Nothing worked.
    • When the Wii console is switched on, the Wiimote already establishes the connection with the Wii console. It does not connect to the bluetooth adapter/dongle.
    • I got stuck at, Wiimote not found in the Human interface devices HID list. Further debugging reveled that the bluesoleil driver was not loaded in to the kernel. I was able to make pair the Wiimote and PC in the bluesoleil console. When I tried to open the device, I got the the above error message. I read in few forums, including Johnny Chung Lee comments, that there are few challenges in the 64 bit windows operating system.
  • Tried to estabilsh the connection between Wiimote and laptop (Dell Inspiron, E1505, 32 bit Windows XP, Windows bluetooth driver)
    • Was not able to open the driver. The wiimote was not found in the HID list.
    • Installed bluesoleil (the driver came with the voice star adapter)
    • Installed .NET framework 3.0 and uninstalled .NET framework 3.0 (noticed more errors and felt it was not going to help even though some forums documented that .NET 3 framework will resolve the issues I faced)
    • The Wiimote was able to open by the driver (the application using the driver)
    • Played around with Wiimote Smoothboard , Wii Play drums, Wii Test application, glovePIE applications. All of them worked great.

In the process of building the pen. Looking for an elegant pen design from Parker web sites. I also came to know that the infraredpens.com run out of stock and looking for a new design and inventory.

Made few crude testing to ensure the infrared LED works. Not successful. Could be problem with the battery or in the connection. Need to have a good design before the development. Does this statement sound familiar?

After the findings, I change my position on the Wii game potentials in the market. Once this kind of discoveries and re-engineering continues, there is no need to buy the console. The console function can be simulated in the PC/Laptop. It will become integral of the PC. Get the Wiimote (around $40 USD) and get the games which can be configured in the PC/laptop and get the same feature we are getting in the Wii console.

That is long way to go.. until then, buy Nintendo stock!!

Maturity Assessment – A General Approach

Maturity assessment in an organization is part of current state analysis. In strategy formation or in the enterprise architecture projects, understanding the current state is one of the major milestone. The maturity assessment includes project management, project portfolio management, application portfolio management , process management, IT financial control management, IT investment management, risk management, etc. The maturity level can be determined based on the answers on the following questions. It is more general (abstract) model and it can be applied almost any functional area except the people management.

  • Is there a process exist today in an organization?
  • Is the process documented?
  • Is the process communicated to the organization? (people are aware of the existence of the process)
  • Is the process consistently followed?
  • Is the process institutionalist ?
  • Is the process managed?
  • Is the process optimized?

For any maturity assessment, the level of maturity can be determined by depth of the “yes” answer in the list. If none of the above question has a yes answer, then the maturity of that area is in level 0.

Let us take a project management maturity assessment in an organization. Project management’s key objective is to manage cost, quality and time. It is triple constraint in the project management. There are frameworks available from PMBOK to perform the project management in an organization. PMBOK framework suggests that there are nine knowledge area and five process groups.

Five process groups

  1. Initiation
  2. Plan
  3. Execution
  4. Control and Monitor
  5. Closure

Nine knowledge areas

  1. Integration Management
  2. Time Management
  3. Scope Management
  4. Cost Management
  5. Risk Management
  6. Quality Management
  7. Human Resource Management
  8. Communication Management
  9. Procurement Management

Take each member of the process group and ask the above questions. For instance let us take initiation process. During this phase, for any projects, the organization must make sure there is a business case. cost benefit analysis, benefit realization plan etc. Identify the major steps in the initiation phase and ask the above questions. Collate the answers to determine the maturity level in the initiation process. Repeat the steps for all members of process groups. Collate all the answers from all the process groups and will determine the project management maturity level in the organization.

The above model can be applied to portfolio management assessment, IT financial management assessment, IT investment management and etc..

Application Portfolio Assessment – Key metrics and its measurement technique

Quality attributes of a system are few key metrics used to perform the application portfolio assessment. Quality attributes like maturity, adaptability, flexibility, availability, stability are quite a few frequently used metrics in the application portfolio assessment. All of them are subjective metrics and can not be measured directly. All of these metrics are measured through various other observed parameters. Among the listed quality attributes maturity and stability are predominately used in the assessment.

Let me propose how the maturity and stability of the systems can be measured in the landscape to perform the assessment. The purpose of the application portfolio assessment is to rank the system in various categories (same as the Boston consulting methodology). In simpler words, the list of applications which are cash cows to the company, list of applications which are dogs, list of applications which are stars and “?” question mark.

The idea is, as an enterprise architect and IT strategist, you want to make sure all the cash cow applications are stable, matured and in general, has very low risk. Measuring the stability and maturity are very subjective and often it is difficult to present the realistic picture in the exercise.

Stability represents the availability of the system. If a system is stable means that it is running in a solid platform provides a better high availability. The availability of the system can be measured by collecting the number of outages occurred, number of preventive measures (emergency change controls), number of special care taken (like special jobs, running jobs manually which are planned to run as per the schedule), number of upgrades and technology architecture. All these factors come together to derive the probability of the system failure in a given time. The probability translates to the stability of the system. If the probability of failure is negligible, then the system is very stable and if the probability of failure is very high and then the system is very unstable.

Maturity represents the obsolescences of the system. Technology and functional obsolescences are two parameters represents how much of the functionality of the systems are continued to be used by the end users, and how technology obsolescences presents the number of legacy technologies being used in the system. If the technologies used in the systems are kept up to date and fully supported by the software providers, then the technology obsolescence is considered very low. The functional obsolescence can be calculated by counting the number of functional points in the system and total number of functional points that are being used. More the number of functional points not being used by the end user the more the functional obsolescence is. More functional obsolescence is less the system maturity is.

Stability and maturity of the system can be used by the above proposed approach.

Strategiest View of Google’s Browser Chrome..

Delivery of Google’s innovation mission continues and recent launch of google’s browser is an another prime example of their commitment in the innovation. There are already lots of articles surrounding Google’s Chrome and even an article suggested that chrome captured 2.74% market share in a day. I do not believe it and did not do any factual data analysis to verify it. It could be accurate statement for a smaller population but the analysis must be skewed and do not present the whole true market share.

Like millions of the curious people, I down loaded the Chrome on the day it was launched and played around it.

My immediate end user reaction on Chrome:

  • Very simple
  • Like the logo (Google’s predominant color in the logo)
  • Most visited page is already a window (same as alt-tab in windows) in my first page. Very user friendly
  • Integrated search with URL edit box
  • History of web search is integral of the first page
  • Major plugins works
  • Looked almost same as the first version of IE in windows 95, when I was extensively using Netscape browsers
  • Looked like extension of the google main page.

My immediate technologist reaction on Chrome:

  • Very light weight
  • Will be easily portal to many platforms (including Mobile platform)

Strategist perspective of Chrome:

  • Google is on the right strategic path on launching the Chrome as their browser
  • It is a stepping stone for google to completely dominate the next generation web
  • Stepping stone to eliminate the notion of personal computer
  • Cycling back to the mainframe environment. Yes, Ramba 3270, a thin dumb client and sends every thing to the mainframe to process. Chrome will be next generation 3270 will be sending everything to google to process it
  • Chrome will be running in mobile devices like blackberry and the enterprise email will be running in google (gmail) and you will be connected all the time. You are already connected all the time through some means. In the future, it all will be google platform.
  • An another browser war started, this time, Microsoft will be tasting their own medicine

Economist perspective of Chrome:

  • If this continues, google will control the government in 20 years.
  • Some body like Microsoft should react faster to keep up the pace of google, else soon they will grow so big to become monopoly in the technology domain and at the same time make all of us addicted to their technology. (20 years from now, Hail Google!! Hail Google!! will be universal national anthem for every nation in the planet Earth)