Thursday, February 28, 2008
Wednesday, February 27, 2008
Tornadoes becoming more frequent in Missouri
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.
Link
Sunday, February 24, 2008
The Origin of the Orion (Atheist Version)
-To appease my atheist readers, I wrote a new version just for them.
Why do atheist get so upset?
Thursday, February 21, 2008
Lunar Eclipse Video
You can hear the radio in the background.
The Origin of the Orion
-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
Monday, February 18, 2008
Sunday, February 17, 2008
Help Wanted: Embedded Engineers
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
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 http://www.scienceclarified.com/As-Bi/Bacteria.html
The Age of Cyberwarfare Is Here
"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"
Link.
Tuesday, February 12, 2008
In Honor of Darwin Day
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
SRI International receives funding from DARPA for its CALO AI programArtificial 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
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
Atheism
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
"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
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
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
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.
Saturday, February 02, 2008
PZ Myers on Algorithmic Inelegance
"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.
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.""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)."
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