Wednesday, December 22, 2004
Interestingly, Adam's journey has taken him from a startup called Analytica to Borland, to Microsoft, through a startup called Crossgain, to BEA, and now to Google; all of them were platform companies -- and it's notable that he hopped from a startup to a languages company, to an operating system platform company, through another startup to an application server platform company, and (now) to a web platform company. I believe Adam's journey represents the evolution of the software industry over the last two decades: from desktop applications running on single-machines that helped individuals with productivity through word processing and spreadsheets and email, to enterprise applications in corporate data centers that helped workgroups and companies with productivity through automating business processes... and now to collaborative applications available to anyone from anywhere on the Internet, leveraging an increasingly-connected and ever-faster world. The web is the platform that subsumes the others. The software platform of choice evolved from desktop operating systems, to enterprise operating systems, to what Tim O'Reilly calls the emergent Internet operating system. Which reminds me of Jason Kottke's description of the Google operating system:
Monday, December 20, 2004
In evolutionary algorithms a critical parameter that must be tuned is that of selection pressure. If it is set too low then the rate of convergence towards the optimum is likely to be slow. Alternatively if the selection pressure is set too high the system is likely to become stuck in a local optimum due to a loss of diversity in the population. The recent Fitness Uniform Selection Scheme (FUSS) is a conceptually simple but somewhat radical approach to addressing this problem - rather than biasing the selection towards higher fitness, FUSS biases selection towards sparsely populated fitness levels.
A more serious problem is the evolutionary information gathering process.
. . .In short: Intelligence could be something complicated and evolution toward it from an even cleverly designed algorithm of size O(1) could be too slow. As evolution has already taken place, we could add the information from our genes or brain structure to any/our AI system, but this means that the important part is still missing and that it is principally impossible to derive an efficient algorithm from a simple formal definition of AI. Consciousness. For what is probably the biggest question, that of consciousness, we want to give a physical analogy. Quantum (field) theory is the most accurate and universal physical theory ever invented. Although already developed in the 1930s the big question, regarding the interpretation of the wave function collapse, is still open. Although ex-tremely interesting from a philosophical point of view, it is completely irrelevant from a practical point of view. We believe the same to be valid for consciousness in the field of Artificial Intelligence. Philosophically highly interesting but practically unimportant. Whether consciousness will be explained some day is another question.
Monday, December 13, 2004
Newswire is a peer-to-peer, fully decentralized system that brings news to your desktop, within seconds after it is published. This technology gives the community the power to weave a collaborative infrastructure for the delivery of essential information to individuals in a robust, scalable and secure way. Newswire is a survivable system which will deliver news to subscribers even if large parts of the infrastructure are under attack or stress.
. . .Newswire consist of a set of software components packaged as a single application. The main application functionality allows the user to subscribe to a potentially large number of publishers, and to receive (short) messages from these publishers. The message content may range from complete articles to short descriptions with links, similar to the individual entries in RSS feeds.
. . .At the core is epidemic communication and state management to maintain distributed knowledge about subscriptions, participant network capabilities and forwarding load. The epidemic technology was first developed by Alan Demers and friends at PARC, but has been completely revised at Cornell in the past years The structuring into zones and virtual hierarchies is based on the small worlds phenomenon. When you organize participants into small groups of local participants with some knowledge of other remote nodes you can construct very effective routes in a decentralized, autonomous manner. These technologies are used to build a loosely coupled, dynamic overlay network, that continuously monitors network load and capacities to achieve a fair load.
Friday, December 10, 2004
I want to call those cities which have arisen more or less spontaneously over many, many years natural cities. And I shall call those cities and parts of cities which have been deliberately created by designers and planners artificial cities. Siena, Liverpool, Kyoto, Manhattan are examples of natural cities. Levittown, Chandigarh and the British New Towns are examples of artificial cities. It is more and more widely recognized today that there is some essential ingredient missing from artificial cities. When compared with ancient cities that have acquired the patina of life, our modern attempts to create cities artificially are, from a human point of view, entirely unsuccessful.
. . .The units of which an artificial city is made up are always organized to form a tree. So that we get a really clear understanding of what this means, and shall better see its implications, let us define a tree once again. Whenever we have a tree structure, it means that within this structure no piece of any unit is ever connected to other units, except through the medium of that unit as a whole. The enormity of this restriction is difficult to grasp. It is a little as though the members of a family were not free to make friends outside the family, except when the family as a whole made a friendship. In simplicity of structure the tree is comparable to the compulsive desire for neatness and order that insists the candlesticks on a mantelpiece be perfectly straight and perfectly symmetrical about the centre. The semilattice, by comparison, is the structure of a complex fabric; it is the structure of living things, of great paintings and symphonies. It must be emphasized, lest the orderly mind shrink in horror from anything that is not clearly articulated and categorized in tree form, that the idea of overlap, ambiguity, multiplicity of aspect and the semilattice are not less orderly than the rigid tree, but more so. They represent a thicker, tougher, more subtle and more complex view of structure. Let us now look at the ways in which the natural, when unconstrained by artificial conceptions, shows itself to be a semilattice.
. . .Now, why is it that so many designers have conceived cities as trees when the natural structure is in every case a semilattice? Have they done so deliberately, in the belief that a tree structure will serve the people of the city better? Or have they done it because they cannot help it, because they are trapped by a mental habit, perhaps even trapped by the way the mind works - because they cannot encompass the complexity of a semilattice in any convenient mental form, because the mind has an overwhelming predisposition to see trees wherever it looks and cannot escape the tree conception? I shall try to convince you that it is for this second reason that trees are being proposed and built as cities - that is, because designers, limited as they must be by the capacity of the mind to form intuitively accessible structures, cannot achieve the complexity of the semilattice in a single mental act.
. . .This is the problem we face as designers. While we are not, perhaps, necessarily occupied with the problem of total visualization in a single mental act, the principle is still the same. The tree is accessible mentally and easy to deal with. The semilattice is hard to keep before the mind's eye and therefore hard to deal with. It is known today that grouping and categorization are among the most primitive psychological processes. Modern psychology treats thought as a process of fitting new situations into existing slots and pigeonholes in the mind. Just as you cannot put a physical thing into more than one physical pigeonhole at once, so, by analogy, the processes of thought prevent you from putting a mental construct into more than one mental category at once. Study of the origin of these processes suggests that they stem essentially from the organism's need to reduce the complexity of its environment by establishing barriers between the different events that it encounters. It is for this reason - because the mind's first function is to reduce the ambiguity and overlap in a confusing situation and because, to this end, it is endowed with a basic intolerance for ambiguity - that structures like the city, which do require overlapping sets within them, are nevertheless persistently conceived as trees.
. . .For the human mind, the tree is the easiest vehicle for complex thoughts. But the city is not, cannot and must not be a tree. The city is a receptacle for life. If the receptacle severs the overlap of the strands of life within it, because it is a tree, it will be like a bowl full of razor blades on edge, ready to cut up whatever is entrusted to it. In such a receptacle life will be cut to pieces. If we make cities which are trees, they will cut our life within to pieces.
When software projects go bad, the results can be disastrous. Every few months, a new horror story pops into the headlines -- like Hewlett-Packard (Profile, Products, Articles) Co.'s recent, flawed SAP (Profile, Products, Articles) deployment. The company had done dozens of smooth ERP (enterprise resource planning) migration projects, but when its latest ran into problems, the cascading disruptions contributed to HP missing its third-quarter financial projections.
A new study from the Delphi Group suggests that a significant part of the problem in tackling major IT projects lies not in the software itself, but in the business processes surrounding the deployment. Seventy percent of the respondents to an ongoing Delphi survey said they consider capturing and documenting business requirements a difficult process -- and more than 60 percent said their organization has trouble implementing changes to its processes and policies.
. . ."The greatest thing you come away with is understanding your processes better than you did before," he said. Delphi Group's Palmer said his firm's survey is aimed not at offering solutions, but at identifying pain points, so that managers like Oliveira will be conscious of the role business processes play and of the advantages of formally defining and documenting requirements. The survey, targeted toward IT managers at organizations of all sizes, can be completed online at http://www.questionpro.com/akira/TakeSurvey?id=185741. "People have been throwing around statistics for a long time about huge failure rates on software system projects, but companies are still investing in and building on software," Palmer said. "We're looking at the root causes of why the failures are so widespread."
The Web Way is a philosophy toward Web-based services:
- They should be as simple as possible, but no simpler.
- They should have clean designs for user interfaces and clean designs for programming interfaces.
- Where it's useful, they should embrace REST.
- Where it's useful, they should embrace loose coupling.
- Where it's useful, they should embrace glorious, nonblocking, asynchronous pubsub. ;)
- Where it's useful, they should embrace microformats, a/k/a lowercase semantic web.
- Where it's needed, they should embrace the time-tested principles of Scalable Internet Architectures (three simple rules: optimize where it counts, complexity has its costs, and use the right tool).