Thursday, January 25, 2007

P & NP ... linear & nonlinear ... the wonderful world of mathematics

I had a bit of (*cough*) spare time yesterday and had a quick scan around the Clay Mathematics Institute links ... all in the aim of solve "some" of the millennium problems (buahaha!) ... but it kept me thinking all the way throughout my work out ... dinner and even whilst trying to sleep ... basically I cannot find a type of mathematics that would make calculations in a "batch" way; to get actual solutions within sets, mathematics has just operations that are iterations across a set. What appears to be required is "parallel" operations that operate on the sets themselves. Abelian groups are described in a "sequential fashion" - discrete - (as the theory of element X is member_of set Y "for each" X1...Xn that behaves in a certain way, blah blah, all that can work in one operation, but when you have the actual "Xi" that is a different story!).

My question is: "union" is a no brainier, as it is just one iteration to obtain the desired result (oversimplified - OK, but hope you get my point); but what about "intersection" and "difference" (which are the principles required by all NP problems), is there any field in mathematics that is working on "parallel" execution ? I assume it requires a a totally new branch of mathematics - and a total new way of thinking ? - as our brain is used to go throughout each element in the input side to generate the corresponding result on the output side - as opposed to get a whole set of elements, apply one single operation "a la quantum computing" and get back all the solutions required. (OK it was more of a paragraph than a question :))

Sunday, January 21, 2007

Genius misquoted ...

Someone found an interesting interview with Bjarne Stroustrup and seems that everyone has focused on one statement of the interview [(1), (2), (3) amongst others].

In his interview, immediately after the quote everyone is so effusive about ("There are more useful systems developed in languages deemed awful than in languages praised for being beautiful--many more."), he makes some very important assertions:
  1. "Elegance is essential, ..."
  2. "I think we should look for elegance in the applications built, rather than in the languages themselves."
  3. "To use C++ well, you have to understand design and programming technique."
  4. "C++ is designed to allow you to express ideas, but if you don't have ideas or don't have any clue about how to express them, C++ doesn't offer much help."
  5. "The main reason for C++'s success is simply that it meets its limited design aims: it can express a huge range of ideas directly and efficiently."
Man, I think all quoting him should at a minimum use [3] & [4] as part of their statements. The quote should actually consider:
  • There are many projects, most of them fail ... because of poor design, no matter which language is used (assertion 3 & 4)
  • There are many programmers, most of them dislike to share their knowledge (or is it just their egos driving?) making API's and code as cryptic as possible ... that adds to poor maintainability (how many of you have been involved in a "code hand-over" ... it is never a bed of roses!)
  • Using standards and libraries (lets say hungarian notation, stl, and even smart pointers) software can be written in C++ that is efficient, elegant, and maintainable.
It is obvious that the guys that like quoting have only worked in small projects and/or really like just liaising at the code level.

Wednesday, January 17, 2007

One ring to rule them all ...

Wired has published an interesting article - I suppose it has the story has all the potential to be used in future MBA courses that focus on change and/or technology - "How Yahoo Blew It", and how Yahoo answers to the article. What I find the most amusing is the closing statement: "But now we have empirical evidence: At Yahoo, the marketers rule, and at Google the engineers rule."

I think the statement can be expanded ... it is not "marketers" that rule, it is most probably a group of people that understand business but lack the knowledge of technology (i.e. what is there and where are we going?) - This is a more general statement, not specific to yahoo, as this is the kind of thing that you hear in companies all over -. One of the most common cycles of "growing pains" is when the start-up mentality is over thrown by the "businessmen", core knowledge moves on to greener pastures, new management comes and faces the void of "what is there, and how to move to the next stage"; think of the analogy of a sports team, the 90's Chicago Bulls was in a start up position to build a franchise, keeping the engine well oiled they created history, Michael Jordan was at the 'center' - is it true that no single person is irreplaceable? Tell that to a guy that still generates more revenue than most of "Corporate America" :) -. But always remember, it was a team with A & B players - not all were super stars (think "Los Galacticos" failure in Real Madrid!) . I believe that Google managed - smartly- to avoid this stage, by having equilibrium between "mature" and "start up" management, they shift gears faster than any one else in the market. Google has a "Michael Jordan" somewhere - be it a team or a concept - that allows for the winning attitude to remain at the top of the curve. (I still yet to know if Google's criteria for recruitment has A & B players focused around other aspects, they seem to recruit technical A players across the board ... so there should be another aspect(s) that categorises employees).

Now ... you can also see how Microsoft is gathering their own "Wilt Chamberlain" team, just have a look at the recent hire of Donald Ferguson to be a member of Ray Ozzie's team ...

It is a shame that as opposed to Basketball, corporate competition is a much slower game, much like a slow motion chess!, we will know the results not before the next 5 years (optimistic!) ... and many other players might yet be incubated that can change the balance in any direction!

PS: Overall, Microsoft, Google & Yahoo have enormous market values, and this is just evaluating an aspect (mainly technology and how it integrates into the business). But, today (17th of Jan'07) Yahoo has a market value just over 1/3 of that of Google, Google has also just over 1/3 of the market value of Microsoft ... (Yahoo is obviously 1/9th of Microsoft).

Tuesday, January 09, 2007

Enterprise 2.0 ????

Interesting article written by Dion Hinchcliffe "Enterprise 2.0: Ten Predictions for 2007" regarding an unclear (or undocumented?) transition from "1.0" to "2.0" - the term "enterprise" because of its widespread misuse. I quite like the TOGAF definition:
  • "enterprise" is any collection of organizations that has a common set of goals and/or a single bottom line. In that sense, an enterprise can be a government agency, a whole corporation, a division of a corporation, a single department, or a chain of geographically distant organizations linked together by common ownership.
So, lets try to dissect Dion's predictions:

10. Despite the potential for other types of applications, blogs and wikis will dominate the Enterprise 2.0 landscape in 2007. : Whilst this might be true, the purpose of an enterprise is to delivery products of services - if all the employees will spend their time writing blogs and wikis, then "2.0" is just synonym for "disaster". This is pretty much an acknowledgement that 2.0 is associated with "surf the web more".

9. A number of Enterprise 2.0 projects will see lower than expected returns due to excessive structure and low social interaction: this one is a no-brainer ... introduction of new technologies (thinking of SOA in this iteration) will always deliver (in the context of the average enterprise) less than expected returns - there are models of SOA that explain how as projects (services released and shared) progress the ROI increases.

8. Compliance tools will get the rug pulled out from under them as users flock to easier tools out of desperation: yet another no-brainer ... SOX is a burden over the average enterprise, think of the complexities of implementing non-regulatory processes (CMM, Price, TOGAF, Zachman) and why it is so expensive (in human resources & money) to not to have the "rug" pulled out of them, SOX compliance will be more of a miracle!

7. It will be a make or break year for the first round of Enterprise 2.0 tools that add a process aspect: "add a process aspect" ... don't quite get that one ... BPEL ? content flow ? both are new technologies ... or are this business processes within the enterprise ? head hurts by now ...

6. Not a dent will be made in 2007 in the installed base of pre-existing collaborative tools such as e-mail, telephone, and IM. : is this a prediction ? a lot of enterprises are consolidating platforms, a lot of telephony systems have just been installed, IM technologies are still emerging and corporates hardly understand how they operate - even users are still too colloquial to spot something extremely useful about IM, it is just another way of sending emails, when emails are too short - ... doubt much will change for a while.

5. Consumerization of the enterprise will continue apace and will help drive Enterprise 2.0 adoption at the grassroots level. : uhmmm don' t quite get this one! if an employee 'blogs' publicly, it will be sanctioned. 'private' blogging, and wikis are not understood - people still prefer documents that can be printed (kill the rain forest!!!) and print as many as versions are published ! cooperative environments are still too futuristic (i remember my collaborative/groupware seminar back in 1996 ... still a lot of that hasn't seen the light within the "1.0" scope)

4. A surprisingly fierce battle will ensue between the big software makers and the small Enterprise 2.0 startups.: are we talking about dotcom 2.0 ? ... the battle will be mainly in terms of over priced startups (most of them, not all) and how enterprises will try to mitigate costs of acquisition ...

3. Effective enterprise search will emerge as a key prerequisite for Enterprise 2.0 success.: good ideas are pre-requisites of success of any enterprise - search is just a tool to find information! Good search engines, good search queries and good documents are all requirements to make good use of the information, one of them missing (mainly "good documents") and it doesn't matter how smart you make your search infrastructure - information will be misplaced.

2. A few high-profile misuses of Enterprise 2.0 will crop up but will fail to put much of a damper on things.: and this is just by using the law of averages ... ?

1. Enterprise 2.0 and Office 2.0 will face off as leading new terms for online business software and no one will win: "Enterprise 2.0 is a broad a term" ... I say "enterprise is a broad term" ... office is just a tool (again) that enables - "office 1.0" has been misused - and "office 2.0" will also be misused - bad architectures give bad results, the "think tactical, develop tactical" paradigm used by most enterprises is what dooms themselves !

I guess that article was written for the pure of heart ... I am sorry!

Wednesday, January 03, 2007

The holidays are over

OK ... I've been too busy to post, mainly because of the perils of work ... mainly too tired to post from the hotel room!

Whilst I've been busy not posting, been entertained by reading ... finished "The Equation That Couldn't Be Solved: How Mathematical Genius Discovered the Language of Symmetry" by Mario Livio ... half the way through the book, it started to come back ... the Abelian groups, incredible to remember them as I've not actually ever had to use them in practice, but anyway ... that was it. Now have moved on to my next concurrent set of books (i read a few pages of some of them every night, the most entertaining one or a "priority one" is coming with me on the plane for faster reading):
Also suffering from a mild cold :( shame shame !