Sunday, May 11, 2008

Job Search 101.

Job search is always stressful even when economy is in good health. I don't want to tell how stressful with this current economy conditions. But always stay at positive is basic mantra for successful job search. Based on my experience, we have to decide what would be the correct job description before we start searching job. This is specially important for Software related jobs. I have decided to stick with Sr Software Engineer 3 or 4 category, this is normally 30-40% design, 40-50% hands on and remaining would be mentoring team member and helping other organization initiatives such as PMO, Product Management etc.

Brush up fundamentals
I have decided to spent at least 2-3 months to search a good job for me with my expectations. Before starting job search, we have to brush up all fundamentals, coding exercise and puzzles etc., even though you are a 10-15 years experienced professionals, most of the companies want to test your academic level knowledge, very fundamental computer language knowledge and then your project related questions. I found one good book, Programming Interviews Exposed, this is really good book and it covered all basic data structures, algorithms and commonly asked puzzles. One more book I bought to prepare job search is Puzzles for Programmers and Pros I wouldn't recommend this book, it is nice to have. Since I took Java 2 certification in 2003, those books helped me to brush up Java fundamentals. For design patterns I used Design Patterns: Elements of Reusable Object-Oriented Software (a.k.a) Gang of Four, I can say that almost every software professional must have read this book multiple times. I found some difficulties to understand some patterns so I read Head First Design Patterns also.

Start Attending Interviews.
Once we finished all reading and have confidence, now start applying jobs and start attend interviews. Most of the companies first do a telephonic screen before asking you to come for face to face interview. We have to make sure to talk with low pitch and reply as much as short answers, because the interviewer may judge you as aggressive if you speak in high pitch and as talker if you talk most of the time, because the body language totally missed here. One web site even recommended that consider telephonic interview as face to face, so wear formal dress with suit before attending telephonic interview, but I didn't buy-in that idea. Low pitch and short answer are most important. I found some difficulties, when some interviewer asked me to write a code over phone because I have to write code in paper and explain at same time in phone. But after one or two try I'm okay.

Face to face interviews
This is most important one and face to face decides whether you are going to get an offer or not. As a candidate, our main thing is capitalize the environment and not to get nervous or stress. Most of the interviewers assist you get settle down first by asking some easy questions and later on some complex things and coding exercise. Based on my experience, some interviewers get rough and tough on you, that could be to test your character or they don't know how to contact an interview. Any ways, face to face would be most important one and basic is not to get nervous and calmly you have to explain what ever you know, how you solved an issue, your project experience etc.

My Experience

I attended 5 or 6 telephonic interviews and 2 face to faces. I got an offer with my 2nd face to face last week. I just followed what ever I explained here, stay positive is the most important thing to find a job.

Saturday, May 10, 2008

The investor vs. The speculator

I waited for Communist Party Of India's statement regarding future trade ban for some commodities, as expected they are not satisfied with Indian Government action and they want to ban 25 more commodities. Here is statement from CPI(M) general secretary Mr. Prakash Karat

"The CPI(M), which supports the ruling UPA coalition from outside, had charged the government with making a “wrong diagnosis” of the causes behind price rise and said the steps announced to control inflation would in fact stifle the high growth rate. It demanded a ban on futures trading in 25 commodities, alleging that allowing multinational companies to get into speculative trading in food grains had “resulted in price rise.”

Based on Karat statement, speculation is the main reason of price rise and as usual he blamed multinational companies. Sir, first you need to understand the difference between an investor and a speculator. I urge you to change 1947 mentality of labeling an investor as speculator. An investor is who do all basic research and home work before buy anything and a speculator is one emotionally attached and buy anything they want without doing any home work and based on price movements. These markets are now controlled by investors. If an investors thinks that market is infest by speculators, then price would automatically come down. Great example would be this decade's dot com burst. A good investor always sells when speculator comes into the play. As of now, commodities trading in India or oil future trading is not infested by speculators. It is just reflecting real state of price.

Here is Channa price for last one year contract from Multi Commodity Exchange of India(MCX) . See how our investors bring down price from peak of little over 3000 to 2400 with in last 2 months. Either it could be speculator infested effect or supply increase and demand subside, either way it is reflecting current real price.



Source :http://www.geojit.com/commodities/CommCharts.asp?index=3&Symbol=CHANA&ExpDate=2008.05.20&Exchng=MCX&SPeriod=-12&ChartType=1

Thursday, May 08, 2008

Bad Move by Indian Government.

Finally Indian Government backed Forward Markets Commission (FMC) suspended trading of futures trading in chana, soyabean oil, rubber and potato till September 6. I think that it is bad move by leftist dominated current Indian government. There is no link between inflation and future trading. This leftist (Communist) are playing their cards to win next election by painting themselves as a saviour of poor and middle class people of India. But they are halting Indian economy growth and stopping money flow into Indian economy, ultimately that is going to hurt poor and middle class people of India. India is a vastly "black money" dominated economy, if we close some money flow channels like future trading, money would be again stagnate as black money and government going to loose sum of money as tax. How come price would go up if number of investors decided price after amount of brainstorm and scientific study vs small number of selected group of people fixing based on some unscientific way? I think that the former should reflect real state of price.Future trading helping all of us by discovering prices early so based on future price everybody adjust their demands well in advance, I think Montek Singh Ahluwalia explained really well here about future trading and inflation.

Inflation now is a global phenomena. We can't blame anybody for this, we have to adjust ourselves to live with that. This price hike going to continue until Iraq oil flows into main market or US drilling some more in Alaska (I think Alaska will not happen because of US election year and more global warming concerned people in US) What will happen if we suspend oil future trading, now price determination would be in hands of OPEC who is both price fixer as well as producer. In that scenario, how come we trust them that they are playing a fair role of fixing price, definitely they can set what ever price they want, no question asked. In order to avoid that only we found this future trading for a stable price determination. Why we need currency future,suspend that also and let each country fix their own money value like communist China. No democracy.

Sunday, May 04, 2008

Microsoft's gamble.

It is clear that Microsoft is playing gamble by pulling out Yahoo's bid. Microsoft never withdraw anything they want to buy. Even now, Microsoft pulled back, because of Yahoo's decision to join Google for sharing search ad business, not because of bid price. Microsoft knows better that Yahoo's share price plummet starting tomorrow, and Yahoo investors would not get benefit from Google's partnership for at least next one year. Yahoo can't steer company towards profit for next one year, because Google itself struggling to show growth from their search ad business, because of current economic conditions. 

As everybody knows, more beneficiary of the Microsoft + Yahoo deal is Yahoo. Because they are the one in middle between powerful companies (Microsoft and Google). Yahoo is simply rejecting Microsoft bid for simple "bay area microsoft haters" and "some ego" reason in my opinion. As soon as, Yahoo's stock start go south, their stockholders going to get nervous and going to pull some triggers to accept Microsoft's bid. 

So the Microsoft strategy is, "okay we are pull back bid and waiting for you to go down further and you come back to me after your investors would pressurize you because we are sure that you can not get any benefit from Google because of current market condition and we are sure that it won't improve for next 1 year".

Saturday, May 03, 2008

Mint. Free Online Money Management.

I'm almost addicted to Quicken software, I have to enter my expenses in Quicken at least a week. Quicken is an excellent money management software in my opinion. I'm using it for 6 years. A single screen we can manage our bank accounts, credit accounts, 401k plan, stock, mutual funds, with various customizable reports etc. We have millions of free site to do just manage accounts, but Quicken offers wide variety of reports with graphs, portfolio management, automatically track budgets, track tax and manage foreign currency accounts. This is great tool. But now we are moving towards SaaS model, here is one promising online money management tool Mint and it is free and Mint also offers basic reports and almost we can maintain all types of accounts. It is worth to have a look. Here is link to Mint's safe and security page, just in case you want to know what kind of security they are using to secure our data. It is money so security does matter. 

How to see simplicity from a complex system?

Continuation from yesterday's topic. So we know that a complex system is a composition  of multiple simple systems. How to identify them and split the whole system into small pieces. I'm going to emphasis on software system.

Understanding the magnitude of complexity
There should be a start and an end. If we look any system, first observation would be where it is starting and where it is ending. It is like travel between two cities, if you want to travel from Chicago to San Jose, you have to travel approximately 2000 miles. The magnitude of complexity is directly proportion to length of starting and end point. If a system involves so many integration with other system then obviously the system's complex is high.

Chopping complex into simple solutions
This is the most tough job. Our understanding of complex system relies on how good we are chopping into simple workable solutions. The above travel example can be used here also, if we want to end up in San Jose, We have to cross so many cities in between, since a simple solution steps are route between 
Step 1 : Chicago to Omaha, 
Step 2 : Omaha to Denver, 
Step 3 : Denver to Salt Lake City 
Step 4 : Salt Lake City to San Jose. 

So this intermittent cities are going to be our simple solution to go San Jose. Our concentration should be understanding these simple routes first, step by step, to understand the whole complex system.

Presenting Complex Systems
Now the final part of presenting complex system to others, so they need not go through above exercises. When ever we present a complex system, we need to draw as much as diagrams. If we just type a 450 pages of document, no body going to read it all, concise explanation with diagrams are more than enough to understand. One good thing is, if the system is real complex, we can write separate documents for each steps identified from chopping complex into simple solutions. We can present one by one to consumers to digest information one at a time. 

Friday, May 02, 2008

How to see simplicity from a complex system?

I want to write something about how to derive a simple workable solution from a complex system. A System can be anything, for example, Eiffel tower, what we are seeing now is a complex tons and ton of steel structure and it is very complex to build. But some human like us built it from scratch, they assembled simple steel structures to build this complex architecture. This is very basic, a multiple simple systems forms a complex system. If we see it correctly, we can make lot of simples from a complex. So nothing in this world is complex.

Why some systems make us think that it is complex, because the way it was present to us is wrong or we are jump into conclusion very fast about a system. If we see a system as it's whole integrity. it is, yes definitely it is complex. All we need to do is see the system as parts and find a simple pattern hidden in the complex system. If we understand the simple pattern that makes the complex system, we are well off and we can resolve any system.

Tuesday, April 29, 2008

Hats Off to Indian Space Research Organization (ISRO)

After achievements after achievements, finally ISRO delivered cluster of 10 satellites by using PSLV rocket to break all previous records in a single mission. This is world record because earlier former Soviet Union used 8 satellites in a single launch.

The following is from Space.com

"An Indian rocket lifts off successfully with two domestic and eight foreign satellites from Satish Dhawan Space Centre in Sriharikota, India.
The Polar Satellite Launch Vehicle launched without its usual six strap-on boosters and carried its heaviest payload yet in this configuration — roughly 1,800 pounds (823 kilograms). The rocket had previously carried a maximum of four satellites into space within a single launch, according to Indian Space Research Organization (IRSO).
Once the rocket reached an altitude of almost 400 miles up (637 kilometers), it released its main payload of the Indian CARTOSAT-2A satellite into orbit. The Indian Mini Satellite (IMS-1) followed 45 seconds later. Lastly, the eight nano satellites built by Canada, Japan, Denmark, Germany, and the Netherlands separated in sequence"

Hats off to ISRO engineers and scientists to make this happen.

Saturday, April 26, 2008

Inversion Of Control and Dependecy Injection.

Inversion of Control (IoC) is important pattern when we use frameworks to develop web development. Mainly Spring framework using IoC pattern explicitly and core of Spring framework mainly built on IoC for application context, bean factory. 

IoC is simply pushing configuration, objects, and other required resource to a class rather than class pulling all information to run flow.  This is very simple definition of IoC. When I started Spring framework for projects almost 3 years ago, First I confused with IoC and Dependency Injection. So many articles and books try to add more confusion. Until I read the Java development with the Spring Framework by Rod Johnson, Juergen Hoeller, Alef Arendsen, Thomas Risberg, and Colin Samplaeanu

Dependency Injection is a flavor of IoC. Spring using dependency injection to achieve IoC. Lets see a example, how to improve a code by using IoC.

Here is a simple class to construct a car.
public class Car {
   public void buildCar() {
       CarBody cBody = new CarBody("SUV");
        Engine engine = new Engine("honda");
        this.constructCar(cBoby, engine);
   }
}

After execution of buildCar method, we have a car object with SUV body, honda engine. Ok. All are good and now we need to construct GM car. We need to directly touch buildCar method to recreate it. Since car is a generic object, it is prone to constant changes. It is pain to change time buildCar method to create different cars. If you are asked to improve the above code, instantly we change buildCar method signature to parameterize body, engine, tire like

buildCar(CarBody body, Engine engine);

Thats starting of IoC pattern. The parameterize version of buildCar would solve almost all issues programmatically. But we can't customize a container or framework to call this parameterize buildCar method. We want to do one more level of externalizing. 

Dependency Injection can be done based on constructor, setter methods and interface. But most of developers preferred to use setter methods. So we are going to add all setter methods for engine, body and tire.

public void setBody(String body)
public void setEngine(String engine)

Now our Car class exposed it's important components to others including a container mainly we can call this setters from a configuration files. Thats exactly the goal of IoC.

Wednesday, April 23, 2008

2008 - Not good so far. But how to beat it?

Since this year started we are not hearing any good news. All are bad and negative news from around the world. All are temporary and will be good after some time.

1. US housing market meltdown
2. Banking loan system break down in US and around world.
3. Rising Oil price and subsequent rise of all essential commodity price.
4. Food crisis and warning about "silent Tsunami". 

So how to stay positive in this all negative environment?

1. Stay away from TV channels such as CNN, CNBC, MSNBC, FOX. Media always hype everything, specially this news channels are worst. Just watch good sitcoms like According to Jim, Two and half man, Talk shows etc.

2. Watch as much as sports events, NBA playoff, Baseball, NHL etc. at least there is one winner from sports events.

3. Plan for weekend trips in weekdays, there are lot of sites to search good places to visit in weekends, so that we don't browse any news sites.

4. Teach some new activities to your kids. So you can learn something and spend more time with your kid like cycling, boating, fishing, horse riding.

5. Don't talk with any friends or relatives who sounds always negative. They try to pass their negative feeling to you. Just delete their mobile and email address from your contact list.

6. Daily visit my blog and read my posts :)


Sunday, April 20, 2008

Back to work.

After 2 weeks of vacation to India, returned to Chicago yesterday. Time in India was great and quality one for me and my family. My 4 year and 5 month old enjoyed to the fullest with their grand parents. But the flip side is, my 4 year lost little discipline, due to over affection from grand parents and relatives. The truth is we all are lost our daily strict routine and lost our discipline, which is why we need vacation. The lost of daily routine and little discipline is most wanted for all humans at least once in a year. This vacation was good since it was full of functions, first my brother in law's marriage and then my son's birthday. We met all our relatives and friends on one go. I can see lot of improvements in india's quality of life, earlier we didn't have any issues with car parking in marriages halls, in fact we can see only 2-3 cars, now there were lot of space issues with car parking. Everybody now has car and everywhere we are facing car parking issues including in marriage halls. Every aspect of quality life improving slowly and steadily.

Saturday, April 05, 2008

Back to Home.

Here I'm in India after 28 hours of hectic and long travel from Chicago. Where ever you are, what job you do, how long you away from home, back to home is always a wonderful experience and I can't describe the feeling, all I felt is something that mind state changes from "turbulence" to "smooth". This time my hometown we are experiencing some sweet pain that we are getting lot of lot rain, which is unusual in this summer months. But it is good for me and my kids, as we are enjoying in rain and more greenish Nagercoil.

First time in my recent visits since 2004, I'm seeing some negative changes in India, which is not good. There is some loss of capitalist version of India, Reliance Petrol(Gas) station closed its stores all across India since it couldn't afford to competition with state run petrol stations. This time we are missing flashy and attractive gas stations on road. In and around my home town and South Kerala, a lot of infrastructure development works are on hold or no improvement at all. People are crazy about food and other essential items price. As per government report inflation rate now holds all time high of 7%. But there should be always a peeks and valleys in all aspects of progressive developments.

Apart of this, People doesn't change at all, same affection, same kindness, same politeness all are same as before.

Tuesday, April 01, 2008

Unified Modeling Language - Sequence Diagrams

After use case and class diagrams, sequence diagrams are important element to any design document. One issue with sequence diagram is, we can spend 12 hours to draw a diagram or 5 mins to do the same. But it all depends on each team's decision that how much time they want to spend on sequence diagrams. Sequence diagram comes handy when the system/product goes to maintenance mode or when ever new team takes over the system/product from current team.

The simple definition of sequence diagram is, explore the logic of complex function and how many objects required and how they interacts with each other to satisfy an use case. Not all use case required a sequence diagram, we can identify complex or most critical ones to be the candidate for sequence diagram.

Lets take a simple use case "add a product in shopping cart".
1. User enter user name and password in login screen.
2. System validates user and let user in the main page.
3. User select a product from product menu.
4. System adds the product into user's shopping cart.
5. User clicks checkout link.
6. System displays checkout page.

Based on above simple use case, we can draw a simple sequence like this

User -> Login - > main page -> Product catalog -> check out

Now we need to convert this simple sequence into objects

aLogin -> aProductCatalog -> aCheckOut -> aBusinessService

After second iteration, we identified that we need a business service to get products from a data base. After second iteration we have to put some more stress on aBusinessService, how it is going to get data, which pattern we are going to use to get data, how we are going to transfer the data etc.

aLogin - > aProductCatalog -> aCheckOut -> aLookUp -> aProductDTO -> aProductDAO

Ok. Now we have some decent sequence, lookup service going to get DAO reference and return to aProductCatalog and aProductCatalog executes getProducts method on aProductDAO, in return aProductDTO as value object. We have a good explained sequence here at high level.

DAO = Data Access Objects
DTO = Data transfer Objects

So we are moving towards Sun's J2EE design pattern here, hence it is good add a business delegate in front of aLookUp. Like wise, we can improve our design and apply design pattern after each iteration until we satisfy our design.

Here is excellent UML and applying design patterns book by Craig Larmen

Monday, March 31, 2008

Weekend Movie.

I am legend :
What a great performance by Will Smith and what an interesting movie to watch. From start to end, this movie was never boring. Especially art direction and Will Smith's performance is a big plus for this movie. This movie is an adoption of 1954 novel of same name. It was very interesting to see timesquare and main New York streets without traffic and people. The director planned very well for Will Smith's solo scenes with "Sam" which is unavoidable, so that we never felt dragging on any scenes. The story is very simple, a virus outbreak causes billions of people dead and make some monster, only less than one percent of world population survive without becoming monster because they have the natural immune against this deadly virus. Will Smith played US army doctor role, trying to resolve this crisis by his own with "Dark Seekers". Very interesting movie to watch.

Sunday, March 30, 2008

Chennai Cricket Test.

Virender Sehwag played his life time innings at Chennai, scored 319 in 304 balls with 42 fours and 5 sixes. Wow...Chennai fans witnessed 3 one day innings from this hard hitter from this one test. This test match was full of batsman controlled, and bowlers wants to forget this match as soon as possible. I don't know why now pitches in India playing like this, because normally Indian pitches favourable for batsman for first 3 days and then bowlers pitch especially for spinners. But any ways scoring 319 runs at 104 strike rate is really great by Viru, added Chennai's dry and hot weather also into consideration. From South Africa side Amla and McKenzie also played good and Dravid achieved his main goal of crossing 10,000 runs mark, may be he might consider of retirement from test matches very soon. 

UML - Use Case.

Use case is important for any software development. Use case is a structured way of describing a scenario. In extreme coding style, use case may not be a structured way rather it can be in a form of story telling. But some complex application required a structured way of use case so that we can discuss and brainstorm alternative scenarios and exception handling. The main input of use case is scenario like "buy a product". This detailed scenario can be found from "Product requirement document". But it won't describe well with in system level and who is going to execute this requirement etc. Use case is the only way to capture all those missing points from requirement document.

The main sections of use case are
1. Actors : Actors is nothing but users who is going to interact with system in real time. User can divide into their roles. So any given system, we can identify level of user roles well before implementation.

2. Use case text: This is the extension of a scenario, starts with pre-condition, main use case flow, exception and extensions. 

3. Use case diagram : Conceptional view of entire requirement. This can give us detailed view of all requirements and what can be reused(as includes) and what can be extend(as extends) and actors interacts with system. 

Thursday, March 27, 2008

Wasting of Powers.

      As everyboby knows India has man power and US has money power. Are they using it properly? The answer is big NO. US banks are loosing money even a basic home loans collection, such a big country and finance power house of entire world, struggling to collect their own money from own people, as a result all over the world chaos and confusion in banking system, finally US government had to interfere into banking system to clear up mess. What a bad example set here? So you can do any mistakes and finally government will rescue you, rather than changing law to strict bank loan outflow and monitor system to regulate banking systems. This is all because US has money power hence wasting something from it doesn't matter now.

     In other side of world, India has man power and India is wasting man power on agriculture, which is, highly unregulated. The whole agriculture contributing 18% of country's GDP but 60% of population working in agriculture field. So almost 40% of indian people not contributing anything to Indian economy, even though they are working very hard. Here India can waste something since they have lot of man power, as long as everybody getting food. But the problem is future growth of India, India has to convert every people's work directly towards development otherwise we can't achieve projected growth in coming years. But India is always slow in transforming, but once changed, it would be solid and robust. 

   As compare this two great wastes, money waste is something recoverable and it won't hurt much as compare with man power waste. So if you have something more than enough than what you need, you might waste it since it doesn't matter much now.

Tuesday, March 25, 2008

Struts 2 Vs Struts 1

Struts2 is much different than Struts1. Struts2 is more powerful and overcome all drawbacks of Struts1. But learning curve for experienced Struts1 developers are same as newbies. In fact, Struts2 is merged version of WebWork, which intended to overcome all Struts1 drawback.

Action Class :
In Struts2 action class implements an Action interface, but in Struts1 it was extends an Action class. This is a major difference and Struts2 action classes are POJO(Plain Old Java Object) hence testing is easy, no need to write HTTP mock objects to test action classes.

Thread Modeling :
Struts1 action classes are singleton, one instance per container, all request were handled by this one instance. ThreadSafe mechanism has to take care while developing Struts1 action class. In Struts2, action classes are not singleton, as many instance can created and there is no performance penalty and garbage collection overhead.

Servlet Dependency :
Sturts2 action classes are not servlet API dependent, because HTTPServletResponse and HTTPServletRequest objects will not be passed to execute methods directly.

ActionForm Input :
Struts1 action forms are extended from action form base class and action form inputs can't access by other JavaBeans. But in Struts2, action form inputs can be accessed from taglibs.

ValueStacks :
Struts1 uses standard JSP mechanism to bind objects into page views. But Struts2 uses valuestack technology to bind objects into page, hence taglibs can directly access objects without coupling page view (needed more understanding).

Control of Action Execution :
Struts1 supports separate request processor for each module, all are sharing same life cycle. Struts 2 supports creating different life cycles on a per Action basis via Interceptor Stacks.

The following are additions of Struts2

  • instant support of AJAX,
  • integration with Spring dependency injection,
  • Configuration based profiling
  • Debugging

Source :

http://struts.apache.org/2.0.11.1/index.html

http://www.java-tips.org

Sunday, March 23, 2008

IPL and ICL - Do we need this?

Cricket is a crazy sports in India. Good and everybody needs one or more sports for time pass, passion, favorite hero's. Already Cricket draws some negative aspects since this sport is lengthy, time consuming, not promoting team work, based on individual performance, drains man powers etc. But a sport in any form required to guide youths to right direction so that they would not concentrate on other evil things such as drugs or gambling.

But now the creation of Indian Premier League(IPL) and Indian Cricket League(ICL) are overdose to already addicted Indian cricket fans. Because now itself the way we are watching cricket and spending time towards to cricket is more than enough.

This is utter copy of US based NBA or NFL franchise model. The money involves for this franchise from private party is huge and this money can spend for our infrastructure development or build some factories to give job opportunities for needy people. No body wants to spend money for non-profit business, but building factory or infrastructure development projects are now huge profit busiess in India. Why we are spending money towards already developed area?

Google - Win or Lose Wirless Spectrum.

As I blogged about Google Android and Google's wireless auction, the auction result came out last week and Google didn't win any license.

From Google's Official Blog...

"This afternoon the Federal Communications Commission announced the results of its 700 MHz spectrum auction. While the Commission's anti-collusion rules prevent us from saying much at this point, one thing is clear: although Google didn't pick up any spectrum licenses, the auction produced a major victory for American consumers.We congratulate the winners and look forward to a more open wireless world. As a result of the auction, consumers whose devices use the C-block of spectrum soon will be able to use any wireless device they wish, and download to their devices any applications and content they wish. Consumers soon should begin enjoying new, Internet-like freedom to get the most out of their mobile phones and other wireless devices.We'll have more to say about the auction in the near future. Stay tuned."

As per Eric Zeman from information week, Google's intention was not to win any license since there main business is ad. But Google wins what they want from this auction, that is, open access to any devices and applications. Since Verizon forced to spend 4.75 Billion by Google, so Verizon didn't win for open access to devices. Google is "happy loser" and American consumers are ultimate winners. Now all set for Google's Andriod to use these open access spectrum for some good features.

Unified Modeling Language(UML) - Class Diagrams.

First 2-3 years in start-up, we are always in hurry to code new features based on hallway, coffee break discussions. No documents, no design and no formal code comments also. After some point of time, our products are out there in market and everybody liked it. Now comes the documentation trouble, we have to document all, whatever we designed and developed in past, primarily in our mind. If you are designer, you no need to write 100-200 pages document describing what you did. All we need are excellent diagrams, sketches and flow from start to end. UML is the only way to achieve this.

UML is not a strict language, in other words, there is no compiler out there to check our code against standards. A rough sketch can do the purpose. UML is useful on both forward and reverse engineering. The main component of UML is class diagrams, there is almost none design document without class diagrams. In class diagrams, the following notations and relationships are really important. This class diagrams are going to be a blue print for long time, hence this notations are important to communicate because we don't know whether designer who developed this diagram going to be with company or not.

1. Associations
In Class diagrams, if a class associate with other class, the a solid line with a arrow, from source to target. A perfect example would be, Customer and Order class. Order class must give a customer id, who created order. Since we can identify an unique customer id from order, Order class has an association with Customer class, that same with customer class also, from customer class we can find orders by the customers.

2. Compositions
A class can have other class's reference in it. This is useful when we want to utilize other class's methods without inheritance. Decorator pattern is mainly based on compositions.

3. Generalization
This is for grouping similar classes, to add these similar methods in a super class and all other classes are derived(inheritance) from it. This is nothing but super class and sub class notation in UML.

4. Aggregation
Aggregation and association are interchangeable. There is no major difference between them. A car has an engine, then car (whole) has a aggregation relationship with engine (part). To make our life simple, we can use association notation instead of aggregation. Most of the UML gurus discourage us to use aggregation notation in class diagram. We can just use association for top level design and composition and aggregation can be used in detailed design.

5. Realization
Realization is relationship between an interface and implements class. The interface specifies behaviours and a class implements that behaviour then the class realize relationship with interface.

6. Dependency
Dependency relationship as name implies, if one class change, other class's state changes then these two classes are dependency relationship. MVC pattern can be good example of dependency relationship.

The other important elements from class diagrams are multiplicity (upper bound..lower bound), Stereotype, visibilities and properties.

Wednesday, March 19, 2008

BPEL - Manipulating with XML.

In BPEL everything is XML, we are passing a XML to one web service and getting response from same. All manipulating of XML data can be done in BPEL by using local variables and flow. The main purpose of BPEL is to transformation between different web service.

XPath is standard way of manipulating XML data in BPEL. More advanced manipulation can be done using Java,XLST and XQuery. XPath is a simple language to navigate XML document to find a information from XML. But XPath is painful to do complex manipulation hence most of the complex logic can be done in Java or XQuery.

Following is from http://www.w3schools.com/
Here is a simple XPath Query example

/BookStore/book[1] - Selects the first book from BookStore element.
/BookStore/book[last()] - Selects the last book from BookStore element..
/BookStore/book[last()-1] - Selects the last but one book from BookStore element..

It is not necessary to remember all systex and commands, since now almost all IDEs has plugins to develop BPEL logic and complex logic can be done in Java as custom code.

BPEL - Anatomy.

Business Process Flow Lanuage consists of 5 major strucure. They are
  1. PartnerLink - Reference to the services partcipants in the process flow and their ports/roles.
  2. Variables - List of messages exchanged between the BPEL process and each of the partcipanting web service.
  3. Flow Logic - The core of the business logic goes hers. The most used commands are receive,invoke,assign,pick,wait,throw,terminate,flow,sequence,switch,Scope,fault handlers.
  4. Falut Handlers - Catch and handle faults
  5. Compensation Logic - Undo logic.

A BPEL process file can directly comparable with Java class, PartnerLink is import statement, Variables is class variable, Flow Logic is methods, Fault Handler is nothing but exception handling.

The above guide can found in here.

Tuesday, March 18, 2008

Business Process Execute Language (BPEL)

Here comes the maturity of Service Oriented Architecture(SOA), now increasing number of companies looking in SOA and web service as an integration components of connected application. First we need to convert existing business application to web service and publish this as WSDL, now we have multiple WSDLs out there, what about orchestrate. Do we need to code all flow in client side by invoking each web service? The answer is BPEL, BPEL is connecting all web services and orchestrate business flow. In other words, BPEL is a facade to execute multiple flows behind the scenes. BPEL was adopted by major vendors like Oracle, SAP, Microsoft and IBM. There is no vendor specific lock-in implementation issues.

Since Oracle Fusion is consider as next generation middleware implementation because one stop buy for products and cost benefits, Oracle's BPEL Process Manager getting more attention, major advantage of Oracle BPEL Process Manager is, it is not stored executable files as Oracle specific, that is, it is as native format. So portable to other BPEL engines in future is not an issue. One more advantage would be, instant fail over support and cluster management.

Oracle BPEL Process Engine consists of four components
1. BPEL Designer - GUI based
2. BPEL Console - Monitoring, Performance tuning and administration
3. BPEL Server - Sync and async messaging, exception management
4. Built in Integration Services - JMS messaging support, Java embedded.


Here is a quick start guide with installation of Oracle BPEL and executing a sample code. In general, learning curve for this is very little, assuming that you have some web service experience.

Monday, March 17, 2008

Weekend Movies

1. Michael Clayton :

Great Movie. This movie revolving with 3 main characters

  1. Micheal Clayton (Geroge Clooney) : A gambling addict working in a well known law firm, scratching his seat for 17 years at same position, nick named as Miracle Worker.
  2. Arthur Edens (Tom Wilkinson) : A mental breakdown top notch lawyer, try to cover up a big organization (U-North) from 3 Billion dollar lawsuit.
  3. Karen Crowder (Tilda Swinton): A cut throat chief counsel working at U-North, her primary job is to rescue her company from the law suit.

As movie starts, I didn't understand first 2-3 scenes, after flashback started everything is clear. This story is based on 4 days happening between this 3 characters. Micheal wandering around for money to settle his unsuccessful bar business, he got an emergency call to Milwaukee to support his colleague and his long time friend Arthur's mental break down. At same time Karen found that Arthur is helping people who sued her company. After that, story becomes wild and Karen ordered to tap Arthur's phone calls, follow him and finally ordered to kill him. Micheal come into big play after Karen ordered to kill him also. Final moments of this movie is really great and twists and turns. Overall, this movie is must see for movie lovers.

2. No Country for Old men :

Excellent movie and core of this movie is, how bad this hit-mans are and the drug related crime in Texas. Javior Bardem acted as a hit-man, awesome and superb performance. No wonder why he was selected for best actor in Oscar. He just dramatize audience as well as Josh Brolin. Josh Brolin happened to found 2 million dollar suitcase from drug dealers and he wants to settle with that money. But poor guy doesn't know that it was buged. Where ever he goes, Javior followed him with sophisticated killing weapons. Finally Josh able to hide money and recovered it but murdered by Mexican gang members. But I won't agree with Javior's final murder, that is, Josh's wife. He justifying it by saying that he already given word to her husband (Josh), that too, she just came back from her mother's funeral. Tommy Lee acted as sheriff and he just can't stop any violence in this county. This movie is a flawless movie and can give 10 out 10 score.

Sunday, March 16, 2008

Exchange Trading Funds (ETF)

Stock investment getting tougher day by day. One single reason would be selecting diverse portfolio. Earlier diversification means, select 5 stocks from US market, 1 from defense, 1 from blue chip, 1 from health care, 1 from technology and 1 from fastest growing stock either technology or pharmacy. If you could spent 8-10 hours per week, you can manage your portfolio efficiently. But due to economy changes and fast adoption of global economy's, diversification becomes very complex and our portfolio should expose to international market stocks and the money we are planning to put in for investment should be more than what we could afford. If we are still maintaining, old way of diverse portfolio, we are prone to loosing money. Due to this factors, last summer after US market hits new highs, lot of part time investors like me sold all US based stocks and settled with mutual funds and ESPPs, which turned out to be wise decisions. Now it is good time to start again since US market is very down but just little money is good and small diverse like 3 stocks from US market mainly large caps because large cap stocks are very cheap now. Stay away from small cap since it is very expensive now.

As I mention above, due to complexity of diverse, there is good opportunity for part time investors to pitch in ETF. Because ETFs are already well diversify. ETFs are well in middle of Stocks and traditional mutual funds. The benefits of ETF are

1. Low cost
2. Instant diversify
3. More transparency (This is one makes difference from mutual funds).
4. Tax Benefits(Because mutual funds managers are very frequently add/remove stocks and capital gains will transfer to stockholders rather ETF will not add/remove stocks frequently)

ETF can be traded as same as stocks or mutual funds. The Net asset value(NAV) would be determine after market close and if you are selling next trading day, you might loose or gain something since you are selling based on previous day NAV.

The only issue with ETF is complex creation and redemption process. But if you are familiar with mutual funds then okay. Normally if you buy a mutual fund, you are dealing with a money manager and he/she could decide to buy basket of stocks on your behalf. To make this process better, money manager could already created a basket of stocks and name it like "Large Cap Fund" as name implies, this fund dealing with large cap stocks so you can buy 25% of your investment money for "Large Cap Fund" and remaining goes for "Small Cap", and "International fund". The same here in ETF, all you can do is by typing "NY" to buy New York 100 Index Fund, which means you are buying a 100 stocks diversify fund on one click. If you are fully buying ETFs, you portfolio would looks like,

1. New York 100 Index fund (25%) - Fully US based and combination of large and mid size companies.
2. S&P Growth Fund(25%) - High growth S&P index.
3. Dow Jones Oil Funds (25%) - Group of oil explore and drilling companies.
4. S&P 50 Asia index(25%) - One fund for all Asian market companies.

Do you see modularity in here? Your portfolio now well diversify as well as you have a choice of modularity, sector wise, index wise, growth wise, geographic wise. If you thing swap oil funds with technology funds, we can easily swap it. The maintenance time to manage portfolio is almost zero.

http://www.ishares.com/home.htm - good one for ETF and well established one.

http://www.fool.com/etf/etf.htm - 60 seconds guide to ETFs.

Up in the air : A special work.

The current space mission STS 123 to International Space Station(ISS) by Space Shuttle Endeavour is special one. This mission provides first module of Japanese Experiment Module (Kibo) and Canadian Special Purpose Dexterous Manipulator. Dexter is fully automated robotic arm which reduce some of the space walk activities. It would save lot of time and effect for astronauts since some actives can be done by this robotic arms rather than spacewalks. Dexter also duped as Canadaarm. The Japanese Experiment module is largest planned module for US side. This module final assembly will be completed on 2010.

Already ISS is the most expensive object ever build by mankind[Source:Wikipedia], after all these additions it would become more expensive and greater scientific achievement .

Thursday, March 13, 2008

Spike of Oil Price.

Many of us, still remembers the scary Goldman Sachs Oil price predication back in March 2005, at that time oil price was $50-$55, some body even ridiculous about this predication. what a losers??. After 3 years now, Oil price spikes to $110 per barrel and no signs of price decrease for foreseeable future. US economy is now in recession, due to declining demand, oil price should come down, but it is not happening. The main reason would be, as George Bush said during previous state of union address, US people are addicted to oil and they have no choice also because of poor public transportation infrastructure. Now what is happening is people are driving to shopping mall but not buying anything because they want to save some money for gas.

With combination of credit market meltdown, oil price and decline home equity, things are looking very gloomy and positive signs are far away, may be summer of 2009 unless oil price come down and stimulus rebate checks going towards shopping not to pay off loans.

Tuesday, March 11, 2008

Manage situation before it controls you...

Most of the times in our life we are in good situation, but often due to law of nature, sometimes we are in bad situation. When ever a situation controls you, you might loose control of yourself. A situation in this context is blanket term. A situation can be good, bad, confrontation, anger, sad or happy. All uncontrolled situation can be bad for our health and wealth. When we start with our career at young age, lets say 21 years of old, we don't know what is even situation is. We just come and go after completing our tasks and enjoy our life. After getting married and having kids, we have to know how to manage situation cleverly and efficiently otherwise we have to carry enormous burden on our own, even sometimes our family also have to share the burden for us.

Most of us, try to play our game by the principle "don't drop ball". Don't drop ball is good and very honest way of doing our day by day job and reaching high on our career. But if we are stick with don't drop ball after having family and kids, we are vulnerable to "controlled by situation" person. If some situation happen to you, drop the ball and step back, analysis the situation, found an alternate way or delegate something and then carry the ball until you reach goal line. There is nothing wrong with that. If we are adamant to carry the ball all the time without dropping, each situation would make our life a living hell.

At the end of the day, our health, our family and our career is important to our life. We can make ton of money if we are in good health, good family support and good career. If we want to achieve all of this, drop the ball and step back and analysis when some situation demanding you to do so.

Saturday, March 08, 2008

Recession then Shopping spree then Boom.

Actually when recession is around the corner, most of the bellwether technology firm's executives become an impulsive shopping buyers and their shopping spree would increase as sky high. As of now, Microsoft is trying to buy Yahoo, Digg.com and they already bought Danger ( a start up mobile software company ). Microsoft may not continue to pursuit to buy more companies after Yahoo, since their shopping budget for this recession may run out with expensive Yahoo purchase. Then all other bellwether jumps into shopping such as Google, IBM and Oracle. This is good for start up companies, because most of the acquired company's top executives and top tier software engineers, would quit because of sudden culture change and unable to adjust with new management etc. They come out to start a new start up or join with already booming innovative start ups. This is really boost for these start ups, which are struggling with funding as well as attrition now. This is starting of next boom cycle.

Thursday, March 06, 2008

Finally Apple opened iPhone.

Because of fierce competition from RIM Blackberry and Google's open source mobile software Android, Apple first time ever opened it's one of product for outside Apple developers to develop software for iPhone. Even without these feature, iPhone is huge success for Apple, now it is 28% smart phone market share in US (Source : WSJ). The cool about iPhone is, one device for many purpose and easily sync up with Mac calendar, contacts and iTunes. Apple software very frequent software updates now improved iPhone's endurance. Earlier it was very unstable and "freeze" a lot. 

Wednesday, March 05, 2008

GOP Steady and Dems still ...

Yesterday after major primaries, GOP finalized their president nominee for 2008 general election. McCain officially started his campaign yesterday. This is good for Republican party, from now on, Republican can rally behind McCain and promote him as next US President. But in other hand, Dems are still up in the air. They don't know who will win nomination and probably they have to wait until National convention. I think both Obama and Hillary are very tough fighters and capable of running this country, but now for the sake of party, one has to agree for vice president nominee. Based on one statistics, even if Obama or Hillary wins all the remaining contest, they can't fulfill mandates delegates for nomination. So Dems super delegates come into play to choose their nominee.

One more controversy is brewing from FL and MI that their voice has to be heard since Dems top leaders rejects FL and MI delegates all together because both the states conducted primaries earlier than party guidelines. I think that even court can't
intervene here because the process is internal to one party and its leadership decisions.

As I learned more about these primaries and Caucasus, I believe it is true democracy and I wish all demarcate countries should follow this system. But associated cost and time with this is unbearable by most of the countries. As I know India has the similar set up but we are not utilizing it properly and everything there is finally decided by party leader with help from his/her close friends and relatives :).


Tuesday, March 04, 2008

We are the champions.(this time outside india)

After a long long long time, Indian cricket shines in Australia. Well deserve and much needed victory for young Indian cricket team. I have to emphasis one incident here, my opinion that is the turning point of this series. This was 4th match between India and Australia, Ishant Sharma as a rookie gave lot of runs in first 2 overs, Hayden just blasting him for fours and third over also not too good, that time, captain Dhoni had a chat with rookie, after that he just changed line and length, here you go, Sharma took 4 wickets and India won the game. After that he was a most dangerous blower for Aussies. I would recall previous incidents from Indian cricket, seamers came and went as unnoticed, if they gave some expensive overs, that's it, his career ends there. Our impatient captains and selectors sacked them and turn their concentration on finding spinners because they don't want to take risk by loosing matches, they had a very short term goals, which really hurts Indian cricket very hard for long time, we were champions in Indian soil and losers in outside India (even in Sri Lanka and future may be in Bangladesh). But this time something different. From this series, Indian cricket found much needed seamers Ishant and Praveen Kumar.

The series winning game was simply a team effort, everybody contributed their share to win this game. Especially Sachin and Praveen were good. Sachin is like lion nowadays, when he is hungry, he would use all of his strength to score runs for team. Earlier he was like tiger, score in all games and showed his strength almost all games. But lion is always better than tiger. Unfortunately I didn't watch this game, so I can't comment on Praveen's blowing in details but based on scoreboard, he was awesome. Way to go team India.

Monday, March 03, 2008

Weekend Movies.

This weekend we watched 2 movies both of them are based on New York and crime movies. American Gangster and The Brave One.

American Gangster
I can give 8/10 to this movie. Good storyline and screenplay and most scenes were filmed very naturally and costume also modified to fit into 1960s timeline. All the locations in the film were authentic and real places in and around New York city. One of my favorite hero is Denzel Washington and he was amazing in this film, he just lived as "Frank Lucas" character.He was really acted well in the scene where he burnt down $50k coat because that was the turning point of the movie, after he wore that coat to boxing match, everybody knows that he was rich and running a gangster.

Russell Crowe is another brilliant guy also acted as equivalent to Denzel. Director handled the scenes excellently by separating them the whole movie, that is, big plus for this movie. In other hand, movie was little slowed in the middle because of unnecessary family affairs to fill up time to delay the meeting of 2 characters.

Overall I skeptic about this is a real story, I think that 10-15% is real and remaining is just imagination from director Ridley Scott. It was very hard to believe that US military cargo planes used for heroin transportation.

The Brave One
I think Jodie Foster would love to act solo nowadays. The storyline should based on her role 100%. I hate monopoly even in movies. So nothing to write about this movie. I wasted 120 Mins by watching this movie.

Sunday, March 02, 2008

FOW - Future Of Web Apps.

As Future Of WebApps Miami Conference wound down yesterday, there were lot of discussions about future of web apps.  One thing loud and clear is, cost of innovation come down hence there won't be any limitations for innovation, in other words innovation no longer tied to company's balance sheet or tough economy conditions. 

1. Kevin Marks - Google engineer's thought on Social Graph API which consolidate data across disparate social network sites.

2. End of emails - FOW see the death of emails. Because everybody now using social networks and it's message box for communication since email not going to provide much influence to younger generation.
  
3. Joe Smarr's take on Google's upcoming OpenSocial release and his thoughts on future of web apps.

4. Most scalable blog site wordpress Mullenweg's scaling and spamming.




Saturday, March 01, 2008

Any other logic?

Yesterday a friend mine asked to help with her MS assignment, it is java so I got interested and solved it. But I was not satified with the logic which I provided, Is any other logic for this?

The aim is to print all possible 3 and 2 letter word from String "GOLD".

public class TestChars {
public static void main(String []args) {
String str = new String("abcdef");
char[] chara = str.toCharArray();
int count = 0;
int countForTwo = 0;
for(int i = 0; i < str.length(); i++) {
for(int j = 0 ; j < str.length(); j++){
if(i != j) {
System.out.println("" + chara[i] + chara[j]);
countForTwo++;
}
for(int k = 0; k < str.length(); k++) {
if( i != j && j != k && i != k) {
System.out.println("" + chara[i] + chara[j] + chara[k]);
count++;
}
}
}
}
System.out.println("" + count);
System.out.println("" + countForTwo);
}
}

BTW, Cricker match getting interested now, "Noxious Weed" really undesirable for Aussies.

Thursday, February 28, 2008

Google's Killer Application.

Already Microsoft getting heat from Google, that Google is capturing all critical functionalities from Microsoft office suite and developed online based Google Docs suite. From many of small business to individuals now using Google docs instead of expensive Microsoft office suite. Now Google released a "sharepoint killer application" named as Sites. It was just redesign of JotSpot wiki, which Google acquired some years back.

I think that now Google can declare war against Microsoft office suite. Google has now all replacement products for Microsoft office. Actually now we are expecting a twist from Microsoft that they will release a online based mini office suite to fight against Google Apps.

Tuesday, February 26, 2008

What's behind Web2.0?

It seems to me everybody started loving Web 2.0 concept, who ever really enjoying Web 2.0 applications such as wikis, blogs, diggs, tag cloud etc are not making any comments.This makes software engineers unhappy who design and develop web 2.0 applications. The improvement and innovation happen only if there is strong constructive criticism from users, since everybody just accepting Web 2.0 as is and not making any constructive criticism leads to a sudden death of web 2.0. The criticism now these web 2.0 drawing are from some fundamentalists who hates web democracy. To make things worse, major companies like Microsoft, IBM, SAP and Oracle are not investing money towards WEB 2.0 research and development.Google is the only company investing something for R&D, but for Google web2.0 is part time business, there main revenue not tied to Web 2.0. So the growth now Web 2.0 enjoying may not be sustain for long time. Unless something got changed in coming years.

Sunday, February 24, 2008

Excellent Cricket Match.

After many low scoring matches and rain delayed matches, yesterday we had an excellent and thrilling cricket match between India and Australia. First of all, Ricky Pointing from Australia and Gautham Gambhir from India played marvelous innings and made this game very interesting. India's players are tough and fought back very hard to win this game. I thought one point of time when Harbhajan and Pathan were on grease, we are going to win. But Lee is too good to take tailenders wicket, he just beat them with his pace.

I don't know what happened to Sachin Tendulkar, the ball he got out was very simple for him to play, having this many years of experience and genius cricket brain. I think he was bad form since this one day series starts, may be he become overwhelmed with continuous cricket career since he was 17. He can retire one day cricket now and concentrate on Indian domestic cricket to help Indian cricket to find more talented cricketers. Uthappa was good and our million dollar baby Dhoni was very slow to score his runs also cost us this game. But Dhoni wants to stay until the game ends, his intention was good but he just wasted lot of run scoring opportunities.

Thursday, February 21, 2008

Master - Worker Pattern.

Master-worker pattern sounds like as layman terms split a work into multiple pieces and delegate each pieces to workers and gather all work results and send back to caller. If we want to implement in java, we can easily do it by multiple threads. But what about behind single node? what about availability? how we are going to address single point of failure? Master-Workers design pattern addresses all of these answers. From Martin Flower's Patterns of Enterprise Application,

"
How, then, do you effectively use multiple processors? In most cases the way to go is clustering. Put all the classes into a single process, and then run multiple copies of that process on various nodes. That way, each process uses local calls to get the job done and thus does things faster. You can also use fine-grained interfaces for all the classes within the process and thus get better maintainability with a simpler programming model.”

A master is always one node and workers can be multiple nodes and Master controls job queue and creates set of tasks, put it in shared space and waits for workers to complete it.

here is good article about Master-Worker pattern http://www.theserverside.com/tt/articles/article.tss?l=DistCompute

Monday, February 18, 2008

Terracotta - A flashback.

While reading Terracotta architecture, I was just paused and my mind flashback to year 2002, when we try to build an ambitious health care contract system, we want to do something to scale up our performance a 100 fold to differentiate us from our competitors.This was almost impossible to achieve it since we are talking about some 10 million worth of health care products with massive transactional system. At that time we want to build a secondary in-memory servers to cache our entire set of data, for fast retrieval and store data and asynchronously persist with database. But for some valid reason, we did not implement it and scrap the whole idea.

Ok..flashback ends here. Now we have a open source, well defined and proven, NAM (Network Attached Memory) called Terracotta. Terracotta was there in market since 2006 but it made some buzz recently after it become open source at end of 2006. The year 2007 it got much needed support from open source community and become leader in Java clustring solutions. Here is a good simple introduction to Terracotta from infoQ.

Now question is where to use Terracotta. They are multiple places where ever we need a cache support. Here are some effective usage of Terracotta.

1. Distributed Caches
As per Terracotta.org, "Distributed caches powered by Terracotta can see as much as 100x throughput vs. native solutions, with no changes to existing code." and "Terracotta can support any data structure from simple hashmap to OSCache".

2. Hibernate
"Terracotta helps to reduce database overload caused by O/R-mapped applications deployed in a clustered environment. Use it to cluster your Hibernate second level cache, or get even more performance by clustering disconnected Hibernate objects."

3. HTTP Session Clustering
"Terracotta is used by Java websites both large and small to cluster web sessions. When clustered by Terracotta, web application session becomes highly available without actually being replicated to every app server in the cluster. This leads to scalable applications especially when used in conjunction with an HTTP load balancer. "

Sunday, February 17, 2008

Taste of Knight Rider again.

It is more than 20 years after today NBC telecasted one of my favorite serial Knight Rider again. Last series was telecasted in Sri Lanka TV as soon as NBC telecasted here in USA, We took advantage of being geographically close with Sri Lanka. Knight Rider starts all Wednesday at 7.30 PM IST, we get ready to watch it by 6.30PM itself. As a kid I enjoyed the series a lot.

Now again in NBC today, it is Knight Rider 2 hour movie, this time KIIT is like Windows Vista with compare to early KIIT, which was like Windows 2.0. Integration with spy camera, image matching, solar energy fuel all are advance invention for KIIT. Today KIIT using C21 cargo plane for transportation. This time also I enjoyed the show as I did it 20 years ago as kid.

Saturday, February 16, 2008

My prediation worked.

As I blogged last week about high definition DVD format war, as I predicated Toshiba backed HD DVD format going to end of life. Today Toshiba announced that they are going to give up HD DVD format

I have to give myself some kudos.....Sony's gamble also paid off because they spent large sum of money to promote Blu-ray.

This is good time to buy Blu-ray player. My choice would be Sony BDP-S300 since it is moderate price and best quality among all other players.

Friday, February 15, 2008

Gone Baby Gone.

Today as usual went to Blockbusters to get some movies, my wife called me and asked me to take "Gone Baby Gone" DVD. I was reluctant since this movie was directed by Ben Affleck and almost unknown cast other than Morgon Freeman. But anyway took it and watched. Wow..it was a great movie to watch. Started as a crime movie and ends as an emotional movie. Ben Affleck, rookie[Oops I'm wrong his first movie as director is I Killed My Lesbian Wife, Hung Her on a Meat Hook, and Now I Have a Three-Picture Deal at Disney] director handled this complex subject really good. Some of storyline just similar to Mytic River. Casey Affleck is simply brilliant. The final moment of the movie is really touching and powerful.

Thursday, February 14, 2008

Real firecrackers.

In next few weeks, it is going to be real time firecrackers somewhere over the Pacific Ocean skyline. US government decided to shoot down spy satellite, which anyway going to fall from orbit because of power failure. This spy satellite was launched on 2006 and it failed as soon as enters orbit. So this satellite's fuel tank is almost full and may cause severe damage when it hit the ground. But there is only 1 percent chance that this satellite hits populated area. Because our earth 75% covered with sea and 24% is waste land. So some experts are concerned with US plan, and this would leave some million piceces hanging in orbit(like debris cloud), which act as a barrier to other satellite and spacecraft. Most recently China shoot down a weather satellite and made a large debris cloud in space. Now it is US's turn.

I don't think this actions would speed up global warming.

Tuesday, February 12, 2008

Big format war.

There is a big format war between Toshiba and Sony regarding high definition DVD. Toshiba backing up with HD DVD format and Sony backing up with Blu-ray format. The main difference is, which technology to use for interaction, Java based BD-J or Microsoft based HDi. Now HD-DVD soon going to be end of life(EOL). Couple of weeks ago, BestBuy(largest US retailer) announced that their preferred format would be Blu-ray, to make things worse for HD DVD, today Netflix (largest DVD renter) says no to HD DVD format. Lot of customers like me, has been waiting for long time to buy high definition DVD player but confused with which one to buy. I think now we have clear idea, how industry heading to in terms of high definition DVD format.

As per following graph from wiki, clearly majority of studios are in favor of Blu-ray but 2 major studios are still with HD DVD. Universal and paramount are leading movie producers and their market share is huge. So best bet would be wait for some more time before making decision.


Monday, February 11, 2008

Google Android - Is next Java for Mobile?

The main aim of Google's Android is to run on all low end mobile phones to smart phones without adding any special chipsets. Android is open source and Linux based, there are millions of developer's "hands on deck" to improve or add new features for Android. Today Google introduced first prototype of Android, guess what, this demo was running in 2 generation old ARM9 process. Google's whole idea about this Android is, design and develop an application framework on top of a "sandbox", which can be run on any mobile O/S. Now here is real twist, Google just developing an application framework for mobile, then why they need to bid for wireless spetrum, they won wireless spetrum bid by losing lot of money.

Now we have to connect the dots, you have the world's first class mobile application and control of unlimited wireless spetrum(
700MHz explained here, this is after analog to digital TV conversion free'd spetrum). What you can do with that? We can transfer large set of data over phone to phone, we can transfer a viedo or pictures to any phone if we are running same Android software. So it is something like P2P support for mobile. We can download a Netflix movie in Mobile and watch it in Android movie player. It is inline with consumer-is-winner Google concept.

This is virutally end of Java ME ambition to rule mobile world. Google by-passing Java ME because it is not as fast as Google's expectation and Google is building their own JVM called Dalvik, which is going to be custom virtual machine on top of a Linux kernel.

Saturday, February 09, 2008

Groovy - All set to launch.

As Java becomes a community platform or language or whatever we want to call it, Java grown a lot because it is not owned by one company. In other words Sun mature enough to open up it's underlining implementation to all developers hence we have more and more invention for Java language such as Spring, Struts, JSF etc. Having said that now these frameworks or specifications are declining showly. Now we want something easy to code with less bugs and bring up system quckily at same time high quality. Here is one dynamic script language extension for Java is Groovy. There was lot of debate among developer's community, which is to choose Groovy or JRuby in last year.Groovy got some steam after its 1.5 version release in last year. I think Groovy is clear winner specially for Java developers, because
  • it is just an extension of JVM
  • easily integrate with existing java objects.
  • no need to deal with 2 different objects.(one for Java and one for Grovvy like JRuby).
  • zero learning curve for Java developers to start Groovy.
  • easily integrate with existing java web-app frameworks.

Tuesday, February 05, 2008

Rich Internet Applications with Flex and AIR.

This is the presentation; I’m waiting for days to understand FLEX better. Nice one.Very detailed and good education for naive FLEX developers with Java background. As he explained, RIA is all about “expressiveness”. Web site needs to be more “expressive” in order to attract and retain users.

  1. Car insurance accidental information system is good, but he didn’t say what the success rate after FLEX migration.
  2. As performance side FLEX outpaced AJAX by wide margin. For example to show 2000 rows Ajax is taking more than 33 secs (note after a javascript warning), but Flex is taking 20000 rows little more than 1 secs.
  3. His demo application itself tempted to download FLEX SDK beta, FLEXBuilder. He showed how FLEX script acting as a object oriented way and MVC pattern and a component.
  4. Desktop Vs Web application at deployment time decision is plus for flex application, eBay example is good one.
  5. Message driven collaboration charting also great and requires small bandwidth to collaborate efficiently.

The disadvantage would be,
  1. Debugging at front level may be difficult.
  2. I hate drop and drag front end approach,but good that they have both code and drop and drag switch over.
  3. Since all component's source code owned by Adobe, I don't know scope of adding and customizing components as we wish.

Sunday, February 03, 2008

Perfection denied by Confident Silent Killers.

WOW...what a game? I thought Peyton Manning is in field last 3 mins. of 4th quarter in place of Eli. I would say Eli became Eli+Peyton in 4th Q. Most happiest person from this game is parents of Eli because their sons give them “double whammy”. Everybody must be in edge of their seat in 4th Q. The failure of Pats is they are very protective to keep ball and didn’t take any risks like they did it in 4Q. May be they thought 7-3 is enough to win this game. They didn’t know that scoring more in first 2 Q will always helps final out come. Plax exactly did what he said in couple of weeks ago. Pats underestimate him and always single covered him. Finally they paid the price.
Cool , great season and great games and next season is not far away.

Patriots to Perfection - 21 Hours away.

All are set and final count down started for Patriots towards Perfection. Today I went to Costco for shopping and fans were line up to buy big plasma/LCD TVs to Beer and Superbowl cake. It is funny that wife's are looking at husband face, and husband are starring at TV set one by one.

Cricket: India not looking good at this time. Sachin out was heart breaking and unlucky one. Lets hope rain will save India.

Saturday, February 02, 2008

Playing with Life.

While reading latest news from India, one news got my attention that kidney racketeers issue, This time from North India. I was little emotional on this because last year my beloved father suffered from Chronic kidney disease, which created shock waves in my mind but I was confident that I can easily replace his kidney to solve the failure. But when I landed in India, I got another shock that in my state Tamil Nadu they stopped kidney transplantation after a massive fraud like now in North.Other states also had a same kind of restriction and I can't enroll in waiting list also, because that would take another 5 years. I didn't lost hope and because of open market(thanks to Manmohan) Baxtor healthcare in India has a easy and simple solution to treat kidney failure, which is called CAPD but little expensive but was affordable. Thanks to the Dr. Palanirajan from Madurai Apollo who explained to me about this and giving training to my mother. The whole process just took about 3 weeks. For my father he is a god. Now he is in CAPD for almost one year.

But I'm thinking about who suffered the same issue but can't afford this treatment. They have to die because of this fraud. It is bulls*** and we have to punish this criminals until death before taking their kidney to give it needy and suffering people, they have to prosecute them in separate court not in civil courts. This doctors and criminals doesn't understand chasing money makes them Paranoia, narcissism and attention deficit disorders.Since they are always greedy and chasing money,that makes them to play with lives. Nobody will do this fraud unless they are mentally ill and paranoia.

Friday, February 01, 2008

Microsoft bids $45 billion for Yahoo

Checkmate to Google. From CNN "Microsoft Corp. made an unsolicited $44.6 billion cash and stock bid for Yahoo on Friday, a deal that could shake up the competitive and lucrative market for Internet search."

Here are more informations.
Fun Facts
  • Yahoo and Microsoft working on this deal since late 2006, their top executives met at undersea, deep inside Amazon forest and Sahara desert to keep this top secret.
  • If the deal goes thru, Microsoft said that they will keep Yahoo as a separate entity and will not interfere it's operation. But based on Microsoft's history and creditability they might sunset Yahoo products just to promote their own MSN after 2-3 years. So stop using Yahoo Mail, Flicker and other Yahoo service from today.
  • Microsoft also said that they would announce a bid soon, after Google stock hit bottom like Yahoo, and they are saving money for that by adding more bugs in Windows Vista OS.
Real Facts
  • The timing of this announcement is really boosting for some pessimistic who suffering from recession blue in wall street. (from Marketwatch)
  • This M&A fuels other companies to buy their competitors because Microsoft can foresee market ahead of time compare with their peers. (from CNNMoney)
  • If you love graphs here is detailed analysis of MSFT,YHOO and GOOG and clearly MSFT+YHOO is next EXXON+MOBILE.
  • Antitrust is always an issue for this kind of deals, but Microsoft lawyers knows that how to resolve it because they have lot of experience with it.

From Generative AI to Agentic AI: 2 Weeks of Building MyNewsAI.io

From Generative to Agentic AI: 2 Weeks Building MyNewsAI.io Over the last two weeks, I set out to evolve MyNewsAI...