Thursday, February 28, 2008

Wednesday, February 27, 2008

Tornadoes becoming more frequent in Missouri

Tornadoes in Missouri are on the rise, even if experts can't say for certain why.

National Weather Service records going back to 1956 show an average of 30 tornadoes a year in Missouri.

But the totals have been higher in recent years.

Last year the weather service counted 42 confirmed twisters in Missouri.

There have been 35 logged so far this year.

The state record was 102 tornadoes in 2006.

State climatologist Pat Guinan said it's difficult to say if climate change is linked to increasing tornado numbers since records go back only to the 1950s. The numbers could also be linked to better detection and verification.

Missouri observes Tornado Awareness Week March 10-14.


Sunday, February 24, 2008

The Origin of the Orion (Atheist Version)

In the beginning, there wasn’t jack shit. Anyone who says otherwise is full of shit. In some unknown event, the universe burst into being. The first elements of matter expanded at a superfast rate, creating a dimension of time and space. Naturally, the laws of physics already existed. There was also gravity, a natural force of attraction between two material objects. Gravity acted upon the first elements, combining them into clouds then into massive spheres. The massive spheres started a fusion reaction within them and the first stars appeared. Inside the fusion reactors of the stars, new heavy elements were formed. As the stars aged, they began to expel these heavy elements into space. The heavy elements combined to form smaller bodies of matter and gas. Gravity acted on the elements and planets and moons were formed. On some planets, there were great volcanoes, deep seas and vast windswept deserts. On a small, rocky planet orbiting a bright yellow sun was an abundance of elements including carbon and oxygen. By some freak accident involving organic materials and radiation, the earliest forms of life appeared. Somehow, this life form mutated to form DNA, a type of code that allowed the life form to change and spawn new life. Overtime, the life form changed and more DNA was added. Through the process of random mutation and natural selection, the life form evolved and spawned new life. After millions of years of evolution, creatures of all shapes and sizes inhabited nearly every niche of the world. Some swam in the oceans (especially lots of squid), others learned to walk upon the land. Eventually, some of these organisms formed complex biological thinking machines within them. They could look upon the stars with a sense of wonder. They experienced great joy at the birth of a new life. They also experienced sadness and death. They began to think about the world around them. Soon an age of understanding came to be. After thousands of years of evolution and understanding they became masters of their world, which they called Orion. They looked upon the stars and began to wonder if other planets had similar life…

-To appease my atheist readers, I wrote a new version just for them.

Why do atheist get so upset?

I've been following several atheist bloggers. Mostly, I read PZ Myer's blog, Pharyngula. PZ is an associate professor of biology at Morris. He often posts fascinating science related information based on his own work in biology. This alone should pique the interest of anyone that is interested in science, biology and/or evolution. He also has a tendency to go on a tirade after reading opposing viewpoints from either the creationist, intelligent design community or just anyone that believes in the supernatural. Isn't this just a form of "feeding the trolls?" The trolls post something stupid then PZ flames them for their ignorance. It's all very dramatic but where is the science and critical think in this? Aren't these just exercises in futility? He's never going to convince the creationist and they sure aren't going to change his mind. So what's the point of getting upset over someone else having a different opinion? Wouldn't it be better just to stick with the science and leave the trolls to their trolling? By the way, why is the supernatural so offensive to atheist? So some people believe in angels or whatever, big whoop. Let them have their fantasies. You can have your legacy from advancing science, everyone’s happy.

Thursday, February 21, 2008

Moonlight Sonata

Finally, something to please the senses.

Lunar Eclipse Photos

Lunar Eclipse Video

I took this short video of the lunar eclipse.

You can hear the radio in the background.

The Origin of the Orion

In the beginning, there was only the Great Spirit. It was conscious of its own being and this was good. It was free to do as it willed. From this consciousness, it spawned child spirits and they spawn their own children of free will. For them, time and space did not yet exist. They simply were and it was good, but they desired more. The Great Spirit and all its descents converged on a single point and from that point they spawned a new dimension. In this single event, the material universe burst into being. The first elements of matter exploded into being and it was good. There were laws of physics and they were good. There was gravity and it was good. Gravity acted upon the first elements, combining them into clouds then into massive spheres. The laws of physics responded and the first stars appeared. There was light and it was good. The spirits looked to the stars and saw that they were good. The stars would become creators of elements. From the stars, new heavy elements were formed. As the stars aged, they began to expel these heavy elements into space. The heavy elements combined to form smaller bodies of matter and gas. Gravity acted on the elements and planets and moons were formed. On some planets, there were great volcanoes, deep seas and vast windswept deserts. The spirits looked upon these worlds and saw that they were good. One spirit found a small, rocky planet orbiting a bright yellow sun. This planet had an abundance of elements including carbon and oxygen. The spirit began to ponder what it would be like to experience the material universe as a material being. Soon more of the child spirits began to wonder too. Then, in a single moment, the spirits converged upon this world and created the earliest forms of life. Into this life form they created DNA, a type of code that allowed the life form to change and spawn new life. Overtime, with some help from the spirits, the life form changed and more code was added. Eventually the life form no longer needed the aid of the spirits to adapt to a constantly changing world. The life form evolved and spawned new life. After millions of years of evolution, creatures of all shapes and sizes inhabited nearly every nook of the world. Some swam in the oceans, others learned to walk upon the land. Of their own free will, the spirits began to inhabit the life forms and took on the form of a material being. Their spirit essence remained but they considered themselves living, material beings. Eventually, these beings formed complex biological thinking machines within them. They could look upon the stars and experience the wonder of creation with their own eyes. They experienced great joy at the birth of a new life. They also experienced sadness and death. They began to think about the world around them. Soon an age of understanding came to be. After thousands of years of evolution and understanding they became masters of their world, which they called Orion. They looked upon the stars and began to wonder if other planets had similar life…

-The Orion used to tell this story to their children. It was passed down through the ages.

-Disclaimer: This is total fantasy. Take it for what it is.

Wednesday, February 20, 2008

Lunar Eclipse

I took some video and snapped some shots of the lunar eclipse. It was bloody cold out so there was some shaking going on. Will do some editing and try to post something tomorrow.

Monday, February 18, 2008

President's Day

Happy President's Day.

Sunday, February 17, 2008

Help Wanted: Embedded Engineers

Here's an interesting article on Embedded Engineering. My first job out of college was doing programming for telecommunications devices. I didn't really think of it as embedded engineering. The device used a Unix OS. We had an emulator to test out the new features and bug fixes before applying them in the field. My programming mindset is naturally geared towards memory efficiency and tight code so maybe that's why it didn't really seem all that different to me. Mike Anderson does have a good point. Colleges, Universities and other Technology Schools need to teach embedded engineering.

Help Wanted: Embedded Engineers Why the United States is losing its edge in embedded systems…

By Mike Anderson, Chief Scientist, The PTR Group, Inc.

Embedded Systems are Everywhere

With all of the cellularphones, portable media player/MP3 devices, global positioning system (GPS)units, set-top boxes, digital video recorders, automobile telematics systems and digital televisions that were introduced over the past couple of years, I suspect that this number is probably on the low side today. We are surrounded by embedded systems comprised of custom hardware and software designs.

An embedded system can be characterized as any device in which you inherently know there must be a computer in there someplace, but you’re just not sure where. This is not to be confused with real-time systems. Systems that have real-time deadlines may or may not be embedded, and not all embedded systems have real-time deadlines. There is considerable overlap for sure, but they are not one and the same.

For instance, a GPS locator has a computer inside. I suspect that everyone knows that. But, we typically don’t attach a keyboard and mouse to it although it’s probably one of the most computer-like of the embedded systems since the user must input addresses in some way. Nor does the user typically vaporize if the device takes 30 seconds to acquire a satellite fix rather than 15 seconds.The GPS is an embedded device, but we probably wouldn’t classify it as a real-time device.

On the other hand, anti-lock brakes are computer controlled as well. Our input into the anti-lock brakes of the car is limited to the brake pedal. The rest of the operation is completely based on other sensors and the environment. It is clearly an embedded system. However, the anti-lock brake system is a real-time system as well. If it doesn’t function within the real-time deadline constraints, then people get injured.

Embedded systems development typically requires a different mindset than we find in the desktop environments. Embedded systems are frequently resource-limited. These systems have low-power processors, possible battery operation, and limited
memory and storage.

Embedded designers need to pack in lots of features, but keep the costs own so the units are affordable.

So, where does the embedded system designer gain this type of knowledge? Currently, companies are paying to have developers learn these concepts on the job.

What many in the embedded systems community would like to see is that new graduates already have some of this knowledge from their college/university education.

The ability of a new hire to “hit the ground running” could save U.S. embedded systems companies millions of dollars each year. This is money that could be reinvested in additional research and development to make them more competitive in the world market, or simply yield a higher return to their investors. Regardless of what is done with the “savings,” the incoming engineer would make U.S. companies more productive.

I only quoted some of the more interesting tidbits.

If you want the full version, here's the link.

Wednesday, February 13, 2008

Exploring Biology

Just by using Google, you can find a wealth of information on any subject. Today, I just did a quick search on Bacteria.

A scanning electron micrograph of the aerobic soil bacterium Pseudomonas fluorescens. The bacterium uses its long, whiplike flagellae to propel itself through the water layer that surrounds soil particles.

Words to Know

Aerobic bacteria: Bacteria that need oxygen in order to live and grow.

Anaerobic bacteria: Bacteria that do not require oxygen in order to live and grow.

Bacillus: A type of bacterium with a rodlike shape.

Capsule: A thick, jelly-like material that surrounds the surface of some bacteria cells.

Coccus: A type of bacterium with a spherical (round) shape.

Decomposers: Bacteria that break down dead organic matter.

Fimbriae: Short, hairlike projections that may form on the outer surface of a bacterial cell.

Fission: A form of reproduction in which a single cell divides to form two new cells.

Flagella: Whiplike projections on the surface of bacterial cells that make movement possible.

Pasteurization: A process by which bacteria in food are killed by heating the food to a particular temperature for some given period of time.

Pili: Projections that join pairs of bacteria together, making possible the transfer of genetic material between them.

Prokaryote: A cell that has no distinct nucleus.

Spirilla: A type of bacterium with a spiral shape.

Spirochetes: A type of bacterium with a spiral shape.

Toxin: A poisonous chemical.

Vibrio: A type of bacterium with a comma-like shape.

As the drawing of the anatomy of a typical bacterium shows, the cytoplasm of all bacteria is enclosed within a cell membrane that is itself surrounded by a rigid cell wall. Bacteria also produce a thick, jelly-like material on the surface of the cell wall. When that material forms a distinct outside layer, it is known as a capsule.

Many rod, spiral, and comma-shaped bacteria have whiplike limbs, known as flagella, attached to the outside of their cells. They use these flagella for movement by waving them back and forth. Other bacteria move simply by wiggling their whole cell back and forth. Some bacteria are unable to move at all.

Two other kinds of projections found on bacterial surfaces include fimbriae and pili. Fimbriae (pronounced FIM-bree-ay) are tiny bristles that allow bacteria to attach themselves to other objects or to surfaces.

Pili are tiny whiskers that allow bacterial cells to exchange genetic material with each other.

Bacterial growth
The term bacterial growth generally refers to the growth of a group of bacteria rather than a single cell. Single cells generally do not get larger in size, so the term growth refers to the reproduction of cells.

Bacteria most commonly reproduce by fission, the process by which a single cell divides to produce two new cells. The process of fission may take anywhere from 15 minutes to 16 hours, depending on the type of bacterium. A number of factors influence the rate at which bacterial growth occurs, the most important of which are moisture, temperature, and pH.

The anatomy of a typical bacterium.

Bacteria are about 80 to 90 percent water. If too much water passes into or out of a bacterial cell, the cell dies. The bacterial cell wall provides protection against the gain or loss of water in most ordinary circumstances. But conditions may be such as to produce an unusually large gain or loss of water. For example, if a bacterial cell is placed in a highly concentrated solution of salt water, water begins to pass out of a cell and into the salt water. The cell begins to shrink and is unable to carry on normal life functions. It cannot grow and will eventually die. On the other hand, an excess of water can be harmful to bacteria also. If water flows into a bacterial cell, the cell begins to swell and may eventually burst, resulting in the death of the cell.

All bacteria have a particular temperature range at which they can survive. For a specific type of bacteria, that range can be very high, very low, or somewhere in between, although it is always a narrow range. Most bacteria thrive at temperatures close to that of the human body (37°C or 98.6°F). But some bacteria prefer cold temperatures as low as freezing (0°C or 32°F), and others require very hot temperatures such as those found in hot springs (50°C to 90°C or 120°F to 200°F). The most extreme conditions in which bacteria have been found are around the hydrothermal vents near the Galapagos Islands. The temperatures near these cracks in the ocean floor is about 350°C (660°F), an environment just right, apparently, for the bacteria that live there.

Another factor affecting bacterial growth is pH, the acidity of a solution. Most bacteria require a pH of 6.7 to 7.5 (slightly more or less acidic than pure water). Other bacteria, however, can survive at a pH more severe than that of battery acid.

Finally, bacteria may or may not require oxygen to grow. Those that do need oxygen are called aerobic bacteria, while those that do not are known as anaerobic bacteria. Anaerobic bacteria have evolved ways of using substances other than oxygen, such as compounds of nitrogen, to obtain the energy they need to survive and grow. Harmless, beneficial, and harmful bacteria

Bacteria can also be classified according to the effects they have on human life. Some bacteria are used to supply products that improve human life, others cause disease, while still others have no overall affect at all on human life.

Helpful bacteria. Bacteria make possible the digestion of foods in many kinds of animals. Cows, deer, sheep, and other ruminants, for example, have a large organ known as the rumen in which bacteria live and help break down cellulose fibers and other tough plant materials. In humans, bacteria known as Escherichia coli (E. coli) occur everywhere in the digestive system, aiding in the breakdown of many kinds of foods. Bacteria are also responsible for the production of vitamin K and certain B vitamins.

Certain kinds of bacteria are also essential in the decay and decomposition of waste materials. Such bacteria are known as decomposers. Decomposers attack dead materials and break them down into simpler forms that can be used as nutrients by plants.

Finally, bacteria are involved in the production of many foods eaten humans. For example, bacteria that cause milk to become sour are used in the production of cottage cheese, buttermilk, and yogurt. Vinegar and sauerkraut are also produced by the action of bacteria on ethyl alcohol and cabbage, respectively.

Harmful bacteria. It seems likely, however, that most people know bacteria best because of the diseases they cause. Some of these diseases are produced when bacteria attack directly the tissues in a plant or animal. For example, fruits and vegetables that become discolored as they are growing may be under attack by bacteria.

Bacteria also attack organisms by releasing chemicals that are poisonous to plants and animals. Such poisons are known as toxins. A familiar toxin-producing bacterium is Clostridium tetani, responsible for the disease known as tetanus. Tetanus is a condition in which one's muscles are paralyzed, explaining its common name of lockjaw. A related bacterium, Clostridium botulinum, releases a toxin that causes the most severe form of food poisoning, botulism.

Some forms of dangerous bacteria live on the human skin, but cause no harm unless they are able to enter the blood stream through a break in the skin. Among these bacteria is Staphylococcus, responsible for the potentially fatal toxic shock syndrome. And although E. coli is helpful within the digestive system, if it is ingested and enters the bloodstream it causes severe cramping, diarrhea, and possibly even death.

Most forms of food preservation, such as freezing and drying, are designed to kill or inactivate bacteria that would otherwise damage food or cause disease. One of the most common methods of destroying bacteria in foods is pasteurization. Pasteurization is the process of heating a food product to a particular temperature for some given period of time. The temperature and time are selected to be sure that all bacteria in the food are killed by the process. The pasteurization of milk has made it possible to insure safe supplies of one of the most popular of all human foods.

Read more about Bacteria at

The Age of Cyberwarfare Is Here

Just when you thought that Global Warming was our biggest concern...

"With billions of dollars in contracts and millions in local spending on the line, 15 military towns from Hampton, Virginia, to Yuba City, California, are vying to win the Cyber Command, throwing in offers of land, academic and research tie-ins, and, in one case, an $11 million building with a moat. At a time when Cold War-era commands laden with aging aircraft are shriveling, the nascent Cyber Command is universally seen as a future-proof bet for expansion, in an era etched with portents of cyberwar"


Tuesday, February 12, 2008

In Honor of Darwin Day

I battle bearfoot
you are riding
on a window
the quieting night
ghost of a theory
riddle us this
keep on waiting
on goes the gong
the never-ending song
the never-ending song
somehow, somehow the truth is evading
somehow, somewhere the truth is explaining
embrace life like a baby
in the beauty we find a diamond
it's hidden like a misfit
viva la evolution
somewhere someone the question transpires
so there's a song for every occasion
under our spells playing creators
there's a rainbow of frustration
embrace life like a baby
in the beauty we find a diamond
it's hidden like a misfit
viva la evolution
embrace life like a baby
viva la evolution
it's hidden like a misfit
in the beauty we find a diamond
viva la evolution...

Monday, February 11, 2008

DARPA funds Artificial Intelligence project

This is something for us computer geeks. Everyone that does programming probably has dreamed of coming up with artificial intelligence, like we’ve read about in books and have seen in films. I’ve had a few ideas for it myself. What SRI is doing isn’t exactly like the robots from the movies, but it is still pretty cool nonetheless.

SRI International receives funding from DARPA for its CALO AI program

Artificial intelligence. We've been reading and watching science fiction with walking, talking robots for nearly a century. Researchers have been tinkering with it for decades. Have we come any closer to android production factories? Not quite. But the CALO project, under the direction of SRI International, is looking at making headway in basic intelligence for widely used computer software.

CALO, or Cognitive Assistant that Learns and Organizes, is a very ambitious collaboration between more than twenty different organizations. "The goal of the project is to create cognitive software systems, that is, systems that can reason, learn from experience, be told what to do, explain what they are doing, reflect on their experience, and respond robustly to surprise," states SRI's CALO information page.

CALO brings together many experts from different fields of artificial intelligence, like machine learning, natural language processing, and Semantic Web technologies. Groups work on a different piece of CALO, which will be part of the whole functionality.

The project is being funded by the Defense Advanced Research ProjectsAgency (DARPA) under its Perceptive Assistant that Learns (PAL) program. The PAL program is expected to spawn innovative ideas that bring new science, fundamental approaches to current problems, and algorithms and tools and yield technology of significant value to the military. SRI was awarded the first two phases of a five-year contract to develop a personalized cognitive assistant.

While it’s not the artificial intelligence made popular by science-fiction writers like Dick and Asimov, CALO looks to be genuinely helpful to its targeted end-users, government agencies and possibly business.

The PAL project is aimed at militaryuse, but future packages or derivatives of CALO could be very helpful to business professionals that are constantly on the move by helping them schedule meetings and prioritize information.The package can assist users in this way by analyzing patterns in information such as e-mail correspondence.

Information importance can be learned by CALO so that the data is pushed to the top of the list judged by which projects and people it comes from.The system's speech recognition abilities can also put data prioritization to use in meetings. The software can prioritize the data it gathers in regards to the user's projects and create lists and make appointments with involved parties.

One of the strengths of the system is that it can learn the needs of individuals through their habits and interactions, much like a personal assistant of the human kind. Rather than offering canned advice and only acting on human intervention, the software can make assumptions about a user's needs and plan accordingly. It will even be able to reschedule meetings if participants become unable to attend.

Whether or not it would inform other attendees was not specified, but imagine if the system was interconnected to other learning systems on a network, that it could very well inform those assistants, who could in-turn inform their users of the change.

In an intranet situation, such as for a large business or the given military agency application, the system would be incredibly beneficial in that rather than depending on humans, who sometimes aren't at their desks or transpose numbers in a date or time, the software agents could work together seamlessly and accurately. Since the system is a learning system, mistakes are not probably out of the question, but replacing human error and time delay may outweigh the occasional mis-prioritized e-mail -- which the system could learn was mis-prioritized, reducing the likelihood of a similar mistake in the future.

One of the most challenging endeavors for the project is creating a consistent data system that CALO can use for decision making. Gathered data will likely be very disjointed and uncertain. To use this data, various members of the project are working on a probability consistency engine. This engine brings together two of the traditional approaches to artificial intelligence: logic and probability. Probability will be good for finding related data in the chaotic data the software gathers, while logic will better handle the meaning of the data.

Adam Cheyer, program director of the artificial-intelligence center at SRI says of the project, "What’s different and has never been done before in this way is the truly integrated approach of bringing all of these technologies and all of these capabilities into a single system. It takes a system of this size to give you something that can understand and organize so much information.

"While the CALO project will probably not be able to respond to a user's mood, play them in a game of poker, or drive a car, the ambitious undertaking promises evolution in the artificial intelligence field by combining so many different types of systems, methods and applications. Some of the key features for a true AI are in its ability to learn from many different sources of data, adapt in adverse situations and interact with humans on a level that we are comfortable with. While not housed in an attractive mechanical body, CALO could show us the first steps in unified systems capable of such performance.

Via DailyTech Levi Beckerson (Blog) - December 5, 2007 9:07 AM

African Crucible

There is some troubling news from Africa that is reminiscent of the Salem Witch Trials. This is much worse because it is the children that are being accused and punished for witchcraft.

NY Times Article: African Crucible: Cast as Witches, Then Cast Out

There is also a YouTube video documenting what's been happening there.

Saturday, February 09, 2008


Niklas Jansson's adaptation of Michelangelo's The Creation of Adam depicts the Flying Spaghetti Monster in its typical guise as a clump of tangled spaghetti with two eyestalks, two meatballs, and many "noodly appendages". Source: From Wikipedia, the free encyclopedia

Atheism is the disbelief in the existence of God or deities.

"In Western culture, where monotheism has been the dominant mode of religious belief, atheism has generally referred to the denial of the existence of a transcendent, perfect, personal creator of the universe. " -Van A. Harvey

Everyone is born an atheist. We’re not born as Muslims, Christians, or Flying Spaghetti Monsterians. It isn't until we're indoctrinated into religion, usually by acceptance of a deity, do we become religious. Atheists aren't required to be nonreligious. There are religions that don't require the acceptance of a deity such as Buddhism.

Modern Humanism is based on the premise that human morality can exist independent of any religious belief system. Many modern atheists believe that religion results in a break-down of humanism. Without religion we would just have evil people doing evil things and good people doing good things. "It takes religion to get good people to do bad things," according to some atheist.

Darwin's Theory of Evolution is often linked to atheism because it gives a rational explantion for the orgins of life without the need for a divine creator.

Today, Darwin's theory of evolution, backed by another 150 years of scientific evidence, lies at the very heart of modern biology. The study of biology has lead to many advances in modern medicine, agriculture, ecology and computer science.

There is a lot of scientific evidence that proves the Theory of Evolution is true. What we don't yet know is if the mechanisms in place to drive evolution are by design or by chance.

I was inspired to write about this from watching Richard Dawkin's video on The God Delusion and by reading this article on atheism by Van A. Harvey.

I'm somewhere between an agnostic and a believer. For me, it's likely that there is a God but I can offer no proof of his existence. Gaining a better understanding of the natural world, so that we can advance science, is more important than religious traditions.

Atheists are a fine group of people that deserve our utmost respect.

Wednesday, February 06, 2008

Keeping your network free from malware

One of my hats that I wear at work is that of a network security professional. I’m in charge of making sure that all our systems are secure from outside threats and also from internal threats. When you have just one or two computers to worry about, network security is pretty simple. You just make sure that you have adequate anti-virus software, perhaps a firewall or just be behind a router and your set. Network security in the workplace is much more involved than that. Anti-virus is a good start but unless it is always up-to-date on all the systems on the network, it won’t provide you with enough of a defense. A good network firewall is also essential to have. I prefer to use a firewall appliance but a software firewall on your gateways will suffice. The firewall appliance also has to be kept up-to-date with the latest firmware. You also have to make sure that all your workstations are up-to-date with the latest patches. Then you need to insure that there are no security holes in any other software you’re running. You also need security software running on your email server to cut-down on the number of threats that make it into a user’s inbox. If your users need have to access the network remotely you need to secure that too. The most common method is setup a good VPN solution.

Every network administrator should have on hand a security toolkit that can work independently of a workstation’s OS to find malware. Some anti-virus solutions can scan systems over the network. There are a variety of tools out there but there are also some malware programs in disguise as anti-spyware. Just make sure you know that what you are using is going to work for what you need it to do.

If you’re a programmer, the development/testing environment should be separate from the rest of the network, especially if what you’re working on is experimental. You never want to chance breaking working systems with untested code.

The Wild Side: A Mutant Obsession

Olivia Judson, an evolutionary biologist and NY Times blogger, has posted an interesting article on mutation.

First things first: what are mutations? They are accidental changes to an organism’s DNA; they typically happen when the cellular machinery makes a mistake as it copies DNA from one cell to the next. Once a mutation happens, it may or may not be preserved down the generations — whether it is depends on a variety of factors, not least natural selection.

Some proponents of intelligent design claim there is no evidence for continuing evolution in modern times. This article seems to be making a good case that there is. I have no doubt that evolution has happened and is continuing to happen (even if at a slow pace). The real question that I think needs answering is if the mechanisms that are in place to drive evolution are by design or by random accident.

Tuesday, February 05, 2008

Sunday, February 03, 2008

Idea for a programming experiment

This is something that I thought of after I wrote about PZ Myer's article in Seed.

I mentioned in that post, that sometimes virus programmers will create self-mutating programs in order to evade detection by the anti-virus software. Since us security folks tend to nip these nasty little programs in the bud, they don't get a chance to propagate. What if they were allowed to propagate in a controlled environment? Perhaps, over millions of iterations of random mutations a useful program can emerge.

Can computer programs evolve from something simple to something more complex without the presence of a designer or coders? If true, this could prove useful in cutting down on the man hours of programming. I seriously doubt we'll end up with something like SkyNet from the Terminator movies, but it could generate something interesting to study.

What I propose is to create a self-mutating program in a controlled environment. Let the program spawn mutated variations of itself then test those mutations for usefulness. The mutations should be random additions and alterations of program code. Selected pieces of functional code can be also patched together at random. A selector program will then perform automated test on the resulting programs to see if they are worthy of propagation. Those that meet the worthiness test are allowed to propagate and mutate again. This can go on for however long the controlled environment can support the process and resulting programs.

I don't have the facilities to create such a controlled environment, but I suspect some colleges or universities do. It should be something a graduate Computer Science student could do as a class project.


I'm not sure who did this. My mother sent me these in an email.

Saturday, February 02, 2008

PZ Myers on Algorithmic Inelegance

Dr. PZ Myers of Pharyngula fame has on article in Seed Magazine talking about the algorithmic inelegance of genetic instructions. He compares genetic code to the design and development of computer programs. The basic idea here is that an intelligent designer can create a work of algorithmic excellence that couldn't have occured by random mutation such as what naturally occurs in evolution.

"The designers of software usually aspire to economy of code, clarity in its operation, and powerful algorithms that, with mathematical and logical beauty, do the work of generating a sophisticated result."

He does note that there are still the ubiquitous “Kludges” and hacks in the software we use.

"We tend to look down on the "kludge," the clumsy addition to fix a problem, or the brute force approach of working case by case to force a desired result (although, to be sure, I've seen enough code to know that the awkward hack is ubiquitous)."

Since PZ is a biologist, he has the opportunity to examine nature's code in detail. He goes on the talk about the "invisible hand of evolution: the evidence of random accidents."

However, what we more often see is the action of the invisible hand of evolution: the evidence of random accidents that have been incorporated into the code, of elaborations built of bricolage, a collage of bits and pieces assembled into a larger structure. Life is a collection of kludges taped together by chance and filtered by selection for functionality; it all works magnificently well, but if you look under the hood you are simultaneously appalled by the sheer inelegance of the molecular gemisch and impressed with the accumulation of complexity.

It would be inappropriate for me to critique PZ's essay from a Biologist standpoint. My only exposure to biology is reading PZ’s blog and high school biology class.

I am a programmer and have been working in the IT industry since 1996. I can tell you from first hand experience that once a code-base reaches a certain size and level of complexity, logical elegance in design becomes less and less of a concern. The emphasis becomes, "Just make it work."

At the start of the project the design team works out a beautiful object-oriented model of all of the components and various interactions. This is done to help manage the complexity and make the system easier to maintain down the road.

Once the main design phase is over, the grunt work of actually implementing the system may or may not follow the exact specifications laid out by the designer(s). Sometimes features are added in the middle of a project and the only way they make it in is to come of up with a kludge or quick hack.

After the software goes into production, the customer often comes back asking for additional changes to meet their specific needs. This often results in even more kludges and hacks. What starts out as logical beauty begins to show a few warts and wrinkles as time goes on. The visible hands of coders can result in an evolution of sorts of the software system.

You can also write a program that randomly mutates itself. Since the program is in essence data, that data can be over-written. In this way, a computer program can mutate into something that looks different from the original. Virus programmers sometimes write this functionality into their creations to get past the detection software. That functionally still requires a designer.

My point is that just because something looks like it was a patched together collection of hacks, doesn't mean it started out that way. Is evolution by design or by random accident? I'm not making any assertions either way. I know that a program that is the result of random self-mutation seldom does anything useful or elegant. The fact that it can change itself is a product of design