Welcome to MSDN Blogs Sign in | Join | Help

Chris Jackson's Semantic Consonance

Windows Application Compatibility in the Real World

News

  • Chris Jackson is an Architect and the Technical Lead for the Windows Application Experience SWAT Team.

    This is provided "AS IS" with no warranties, and confers no rights. Use of materials found on this page is subject to the terms specified in the Terms of Use

Browse by Tags

All Tags » Software Evolution   (RSS)
Sorry, but there are no more tags available to filter with.
Designing the User Experience
So far, I have covered two important aspects of software design that will impact how this software will evolve into the future. A brief recap: Evolvability. When developing software, you are fighting a battle against the combinatorial mathematics that Read More...
Stealing Ideas: External Evolutionary Events and API Mimicry
Last month, we released the .NET Framework 2.0 . However, a significant number of organizations are not going to immediately migrate to the new platform and tools. While it's not that difficult to see the benefits of using the new platform, most organizations Read More...
What is the sweet spot for genetic programming?
Alex Barnett posted a comment in my last post referencing a video on the University of Washington website: http://uwtv.org/programs/displayevent.asp?rid=902 . This is a worthwhile video, and I wanted to comment on some of the contents. Of course, I freely Read More...
Genetic Programming and Units of Selection
Genetic Programming is a fascinating field of study. Essentially, this is the study of software that writes software, selecting the software it has written that exhibits the highest degree of fitness, and allowing this software to continue to evolve over Read More...
Developing Less Complex Software: Gadgets and Coding for Fun
In my last entry, I discussed complexity in evolution, and how the most highly complex software is, in fact, the edge case. Far more software is less complex; more people have written a "Hello World" program than have written an application of the complexity Read More...
Evolution, Complexity, and Software Platforms
Webster's Dictionary defines evolution as, "a process of continuous change from a lower, simpler, or worse to a higher, more complex, or better state." I really hate pretty much every speech or writing which starts with the dictionary definition of something. Read More...
Defining Units of Selection
In my previous posts, I discussed the concepts of non-random selection and arms races. With this understanding in mind, we can start to see a very important concept arise. Accurately defining the unit of selection is absolutely critical to effectively Read More...
Selection and Evolutionary Arms Races
Selection is the basis by which evolution can develop the enormously complicated systems that exist today. The underlying principal is non-random selection of random mutations. In any organism, there is some degree of genetic drift. Despite the built-in Read More...
Evolution vs. Revolution
In my previous posts, I have been arguing the point that throwing away source code and starting over from scratch is a notably bad idea in general. In this, I am echoing what Joel Spolsky says so eloquently in his post Things You Should Never Do . (Incidentally, Read More...
Evolving an Imperfect Design
I continue to be surprised by suggestions that an entire body of code - one which has proven its ability to survive in the software ecosystem, should be completely disposed of and replaced with new, less "buggy" code. I read another treatise on this recently, Read More...
Single Step Selection
Have you ever pondered about some really amazing feature of the biological world? The eye? The ear? The sense of touch? Bird flight? These are features evolved very gradually, over many generations. The net result was something that seems incredibly impressive. Read More...
Mutation and Genes
From the comments I received, it is apparent that I rushed through my description of mutation, which seems to have led to some confusion. I will attempt to rectify that shortcoming. When I speak of mutation being non-random in biological life, there are Read More...
Terminology and Non-Random Mutation
I want to take a moment to go back and review some of the terminology I have been using, to ensure that there is no confusion. The reader will kindly indulge any ambiguity in my language up to this point – I am quite literally making this up as I go along. Read More...
On the Nature of Software Organisms and Selection
In my last entry , I attempted to illustrate (hopefully with some degree of success) the reasoning behind viewing software as an organism, and all of the associated learning we may gain from such a comparison. In this entry, I am hoping to clarify this Read More...
Software as an Organism
Can we correctly describe software as an organism? I believe that we can make a compelling argument to do exactly that. To achieve this, I first intend to run through analogies that will describe some of the correlations between software and biological Read More...
Page view tracker