Sunday, January 27, 2013

Scientific Theories

Earlier today, my sister-in-law asked me about science, and evolution specifically. She described how this morning, after going to church with her husband's family, she told her sister-in-law that she had some questions about how the bible fits with evolution. She used the phrase, "Since evolution is basically a fact." Her sister-in-law responded with, "It's really more of a theory."

As soon as I heard her say, even secondhand, "It's really more of a theory," I could feel myself starting to get worked up. As you can see, I haven't rambled in a long while (as I write this, I'm hoping that my blog hasn't been garbage-collected). But this brief conversation inspired me to compose a response.

The phrase, "It's really more of a theory," (and its cousin, "It's just a theory,") is evidence of a general misunderstanding of science. So I'm going to write a basic tutorial of the scientific method and how it produces theories.

So, for starters, here is a simplified version of the scientific method:

  1. Observe an event.
  2. Come up with a general rule that describes what you observed. It needs to predict the behavior of similar events that you have not yet observed. Call it a hypothesis.
  3. Invent a way to test the predictions of your hypothesis.
  4. Apply your test to one or more thus-untested events.
  5. If you disproved your hypothesis, then that really sucks. You can give up and throw it out, or you can modify it to match your new observations and jump back to step 3.
  6. If you get here, then congratulations, you may now call your hypothesis a theory!

Now let's try this out: I'm going to invent a theory (you may know of a similar one, some guy named Isaac Newton came up with it back in the late 1600s):

  • Observation (1): I dropped a baseball, and it fell to the floor.
  • Hypothesis (2): The floor possesses something which I will call gravity, which attracts baseballs.
  • Test (3): I will drop another baseball (to make sure that this gravity affects all baseballs, and not just the first one), and a bowling ball (to make sure that gravity does not affect any other objects).
  • Application (4): The second baseball also fell to the floor. Great, so far so good! But the bowling ball also fell... That means my hypothesis is either incomplete, or simply wrong.
  • Modification (5): The floor possesses something which I will continue to call gravity, which attracts all objects.
  • Test (3): I will drop a book and an egg. I can't test all objects, but at least I can be sure it will work for these.
  • Application (4): The book fell to the ground. The egg did too, and it broke. That's interesting... I wonder if it would have broken if I dropped it from a smaller height, like half an inch?
  • Modification (5): My hypothesis is accurate so far, but I could modify it to describe acceleration... Maybe tomorrow.
  • Theory (6): Yay! I have just invented the theory of gravity!

You may notice that my theory is incomplete (it only says that the floor attracts objects, and it does not describe how that attraction affects things; do they fall at a constant rate? Do they accelerate? Do heavier objects fall faster than lighter objects?). That's fine. It only needs to describe my observations. It's now up to others to test with other floors, other objects, etc. They can expand my theory as necessary to fit their own observations.

So what does this mean? You may be familiar with gravity yourself. Is it a theory, or is it a fact? Or is it a law?

What's a law? In science, a law is a really old and well-proven theory (usually with some mathematical formulas attached to it). It has stood the test of time. No experiment has falsified (disproved) it. As for facts, that's a more interesting (i.e. difficult) distinction. Theories can be facts, but the problem is that if any experiment disproves the theory at any time in the future, then it must not have been a fact.

Gravity is all of these. It is a theory because it predicts the behavior of as-yet unobserved events, based on previous observations. It is also a law, because the theory has not been disproved after more than three hundred years. Based on this, it is safe to call gravity a fact.

But, if you drop a cantaloupe tomorrow and it does not fall, then you have just disproved the theory of gravity. That does not falsify all of the other observations about gravity up until now, though. Somebody will need to come up with a new theory that not only explains three hundred years of experiments proving gravity, it will also need to explain why your kooky cantaloupe floats.

So how does this relate to evolution and the bible? Well, I was hoping I could just stop here and let you extrapolate from the discussion about gravity so I wouldn't have to touch that topic. I strongly believe that religion is an extremely personal choice, and should therefore be extremely private. I don't like to talk about it, and I especially don't like the idea of one person telling another what to believe. I'm already about to step beyond my comfort zone. But here we go:

Evolution (driven by natural selection) is a theory. It was first described in detail by Charles Darwin about a hundred and fifty years ago. It provides a method for predicting how species came to be in their current form. Fossil evidence adds weight by showing the intermediate species that existed in the past. Until evolution was accepted by scientists, the prevailing theory was that all species were fixed at the time of creation, part of a divine plan that laid out all life on Earth.

So how could we disprove evolution? Scientists ask themselves this kind of question every day, about all sorts of different theories. A scientist's job is to look at a theory and try to figure out new ways to disprove it. Every time somebody fails to disprove a theory, the theory becomes stronger and closer to being considered a law; for example, NASA is still performing experiments to try to disprove parts of Einstein's theory of special relativity (take a look at LISA on Wikipedia).

But really, what would it take to disprove evolution? That's a hard question. The only thing I can think of would be to find a species that exists in multiple places, which could not have been transported from one place to the other. This is difficult on Earth, mostly because people move things around, but also because Pangaea and continental drift mess up the fossil record. But, for example, if the first ship from Earth to an Earth-like planet in another star system discovered Earth plants and animals, of identical species to those that exist here on Earth, that would disprove evolution as it currently exists.

What would that mean? We would need a new theory that explains why Earth life is all related to each other, and also how planet-X had the same types of life. Panspermia would be a start, but then perhaps evolution would be back in the game.

Before closing, I want to emphasize this point: Disproving evolution is a hard... not enough emphasis... HARD task. At this point, it is at about the same order of difficulty as disproving gravity. I would even say that we are past the point where it could be disproved completely; any contrary evidence would just be used to make minor modifications, resulting in a stronger theory.

So don't ever let somebody tell you, "Evolution is just a theory."

Thursday, November 10, 2011

New Blog

I created a new blog, Recipes of a Hearty Chef, for recipes. I've been wanting to post more recipes recently, but felt that Ramblings of a Computer Guy was an odd place for them. I'm hoping that, paradoxically, having two blogs will encourage me to post more often on both.

Saturday, December 11, 2010

Linux Mint 10

According to two articles on Linux Magazine, Linux Mint is the next big Linux distro. Taking the advice of the latter article ("Linux Mint 10: A Perfect 10?"), I decided to download the Linux Mint 10 install live DVD and give it a spin in a VirtualBox OSE virtual machine.

Unfortunately, it was quite possibly the most frustrating and dissappointing Linux live installer I have ever tried. I shall now enumerate the problems I encountered:

1. Metacity crashes

Or, at least, I think it was Metacity. The title bars would disappear from all open windows, and I could no longer change the window Z-order. I have seen this before, and it was repairable by restarting metacity. I cannot find a reliable sequence of actions to reproduce the problem, unfortunately.

Additionally, even the task bar would crash and restart itself, and I managed to crash the installer by choosing "Quit" from the first page.

2. No LVM

LVM is not installed in the live image, and the installer does not allow configuration of LVM. But even when I installed LVM using apt-get, the installer would not recognize the logical volumes I created. I can understand LVM configuration being a big task for an installer, but at least if it would recognize logical volumes, an advanced user could still set up the system properly.

3. Personal Information Page Broken

The installer page that takes personal information to create the first user refused to take any input in any of the text fields, either during or after the installation finished. By the way, I was very impressed by the installer collecting only the essentials and beginning the copying of the system while the rest of the information was collected. But then it stopped collecting information, and did not finish the install.

I was able to repair the install, but I would be surprised if many users would know or even think to manually repair a broken install. If such a user happens across this entry, here is how to make your system work if the installer fails before finishing:

Step 1: Put yourself into the installed system

Get a root prompt and set up a directory containing the new install:
$ sudo su
# cd /mnt
# mkdir root
# mount /dev/sda5 root
# cd root
# mount -t devtmpfs none dev
# mount -t proc none proc
# mount -t sysfs none sys
# mount /dev/sda1 boot
# mount /dev/sda6 home
# chroot .

Obviously, your partitions will likely be different. The above layout depends on a partition table that looks like this:
/dev/sda1 /boot
/dev/sda2 swap
/dev/sda3 [extended]
/dev/sda5 /
/dev/sda6 /home

Step 2: Create your user

Create a new user for yourself:
# useradd -d /home/jonathan -m -s /bin/bash -U jonathan
# usermod -a -G adm,dialout,cdrom,plugdev,lpadmin,admin,sambashare jonathan
# passwd jonathan

Step 3: Set up grub

Tell Grub to install itself. This is surprisingly easy with Ubuntu-based systems, as the update-grub2 command will do it all for you:
# update-grub2

You should now be able to reboot into your new system (don't forget to remove the disc).

4. Keyboard Layout Not Saved

I use the Dvorak keyboard layout because it feels like my fingers flow better than with the Qwerty layout. I can still use Qwerty, but it feels clumsy. So, when the installer gets to the keyboard layout page, I chose Dvorak. But it did not remember that choice when I booted into the new system, and instead was using the Qwerty layout.

Impressions

Once I had the system running, I really liked what they did with the menu (what I would call the Start menu if it was Windows). It has big icons for all of the important programs right on the first display, along with smaller choices for the other useful but less common programs. They realized something that most other environments have not yet: If you are using the system menu, you are not interacting with another program, so why not take advantage of the screen to display everything well?

I also liked the clean interface. From the boot splash screen to the standard set of sounds, everything is simple and clean, and seems to be inspired by Apple. The icon sets are attractive, and different enough from what you may be used to that they are actually worth looking at.

Conclusions

I will not be using Linux Mint 10 as my OS of choice. I was impressed with the concurrent install/extra setup info, and with the few pieces of the main system after I had it running, but my heart just wasn't in the exploration. Once I discovered that I would be unable to use LVM, I completely lost interest in actually using the system. LVM is to partitioning a hard drive as directories are to a completely flat filesystem, and I cannot live without it.

Perhaps I will try the Debian-based version, or Linux Mint 11 when it comes out, but I am quite satisfied with Kubuntu 10.04 LTS for now.

Wednesday, July 21, 2010

Oracle

I was browsing the Java API docs today and noticed that the Oracle favicon looks like the Eye of Sauron. Has anybody else noticed this?

Friday, May 21, 2010

Chili

I love chili. It's one of my favorite foods. The only problem, though, is that when I make it, I make a lot of it.

This isn't really a problem (I get to eat one of my favorite meals every day for the next two weeks!), except that once I've finished eating all of it, I'm so tired of it that I can't eat any more for a few months.

Anyway, that wasn't why I decided to post about chili. I figured that I've made it enough times to have a recipe that I'd like to share. It's based on my Mom's chili recipe, combined with some input from Alton Brown's chili recipe in The Big Chili and some input from my friend Matt.

This is the basic recipe, and I'll follow it with some options on how to augment it:

Ingredients:

The Beans

1 lbDry Black Beans
1 lbDry Red Kidney Beans
2Bay Leaves
2 tspKosher Salt
2-3 clovesGarlic, sliced thickly
2-4Dried chiles, sliced (optional)
~½ gallonWater
  1. Preheat the oven to 250° While it is heating...
  2. Boil the water. While it is heating...
  3. Sort the beans (remove any pebbles or weird-looking specimens)
  4. Rinse the beans (a colander works well)
  5. Place the beans in a large, oven-safe pot (I use a 2 gallon graniteware), along with the salt, bay leaves, chiles, and garlic.
  6. Once the oven is hot and the water is boiling, pour just enough water over the beans to barely cover them.
  7. Place the beans in the oven, covered, and set a timer for ~20 minutes.
  8. When the timer goes off, check the beans. They will likely need some more water. Re-boil the remaining water (bonus points if you started heating it a couple minutes before the timer went off) and pour some more over the beans (again, just enough to cover them).
  9. Set the timer for 30 minutes and repeat the previous step.
  10. Set the timer for 30 minutes. When it goes off, the beans should be nearly done. Remove them from the oven and drain them (they will be cooked some more later).

The Chili

1-2Large onions, diced
3-5 clovesGarlic, crushed and chopped
½-17oz can of chipotle peppers
314.5oz cans of diced tomatoes, any style
16oz can of tomato paste
215.25oz cans of whole-kernel sweet corn
1-2Fresh jalepeños, diced
1-2 tbspDried oregano
½-1 tspTurmeric
~¼ cupChili powder
~½ tspMSG (optional)
~12 ozDark beer, preferably home brewed
~4 handfulsTortilla chips, crushed coarsly
Salt & pepper to taste
  1. Much of this procedure can be performed while the beans are cooking.
  2. Preheat the oven to 300°
  3. Sauté the onions and garlic. If you are using meat (see below), cook them in the rendered fat from the meat (augmenting with olive oil if necessary). If not using meat, cook in olive oil (no need to use extra virgin, it would be overpowered by everything else).
  4. Dice the chipotle peppers.
  5. Briefly toast the chili powder in a dry skillet, until fragrant.
  6. Combine all ingredients except for the corn, in an oven-safe pot. The pot that the beans were cooked in should do nicely, once they are done and drained. Stir to combine. Add additional ingredients to taste, keeping in mind that the tortilla chips will give up quite a bit of salt as they disintegrate. Don't forget to include both the diced chipotles as well as some of the sauce from the can they came in.
  7. Bake for 1 hour, covered.
  8. Once removed from the oven, stir in the (drained) cans of corn.
  9. Serve, generally over rice with some shredded cheddar on top.

Accents

Depending on whom I expect will be eating the chili, I may go either for a vegetarian or a con carne version.

For the vegetarian version, I will generally add another pound of dried beans (small red beans, navy beans, ...; whatever looks good), along with one more teaspoon of salt and another bay leaf. In the chili, a package of fake ground beef works well, but it generally disintegrates in the oven and provides only a hint of flavor. Tofu chunks also go well, but remember that they will not provide any real flavor, only absorb it. If you use tofu, you may need to add more of some of the other seasonings, especially chili powder. You may also want to drain the tofu first.

For chili con carne, I like to use 1-2 lbs of meat, an equal balance of ground chuck (80-85% lean) and ground pork. Ideally I would use equal portions each of ground chuck, pork, and lamb, but I can never find all three at the same time, so I have never tried it. Brown the meat before cooking the onions and garlic, then cook the onions and garlic in the fat that rendered out of the meat.

In my latest batch, I managed to get my hands on some ground lamb, but I did not find any ground pork. Combined, I had about 0.6 lbs of 80% lean ground chuck and 1.3 lbs of ground lamb. The chili came out quite well, except that it tasted very strongly of lamb. Next time I would discard some of the fat that rendered out of the meat, as I think that provided most of the lamb flavor, and there was quite a lot.

Friday, July 31, 2009

Recession

There's one thing about the recession (and the economy in general) that really bugs me: Debt. Not personal debt so much, but debt owed by governmental bodies.

People complain about how we are becoming a nation of spenders, without saving any money. Where do you think this habit came from? Watching our government! The federal government as well as every single state (as far as I know) owes money to somebody, and is paying interest on those loans.

But, you say, how else would things get done?

Like they get done in the households of people who know how to save! If I want to buy a computer, I save money until I can afford it, and then I purchase it. The same thing goes for jewelry and virtually everything else less than the price of a car.

Loans exist to satisfy the impatience of people. I don't want to wait for 4 years saving money to purchase a new car, when I can purchase it today and pay for it over the next 6 years (notice the time difference there). This is especially true for houses; I don't want to save my money for 20 years to purchase a house, when I can buy it now, move in, and enjoy it while paying for the next 30 years.

But why are governments impatient? Sure that road needs to get paved today, but why not put money aside so that when it needs repaving in 20 years, we don't need to take out a new loan for it?

My problem with governmental debt really boils down to this: It is a black hole. If you borrow money to do something today, then you will need to not only pay back more than what you borrowed, you will also need to borrow more to do that same thing next year (or in five years, or ten years, ...).

So why don't governments save money? Why not tax a little more than you need, invest, and make money, rather than tax less, take out a loan, and lose money (which you will need to replace by taxing more in the future)?

Because elected officials want to lower taxes now, and do not care about the future. I would rather that my taxes went up by 5% today, the government stopped taking out loans, paid off their debt, and was able to drop taxes by 10% in ten years, than have my taxes increase by 1% each year out to the foreseeable future.

So here's my advice to government officials: Once we get out of the current recession, STOP TAKING LOANS! Pay off all of the debt, save some money, and lower taxes as the interest payments start going the OTHER way. It'll be a good model for your citizens, too.

Thursday, June 18, 2009

Bad Burgers

Recently, my company had its annual picnic. It's probably about like any other company picnic, really: A couple guys bring their grills, a couple others bring food, and the vast majority of people donate $5 so they don't need to think about it and can just eat.

Well, this year, only two grills showed up. And this is using the term 'grill' pretty loosely. Each was a tiny little propane-powered vertical vertical heater. Now, I don't have a problem with propane. My grill is propane-fired. But in this case, I realized that other people do have a problem with propane: One of the tanks was empty.

With charcoal, you can tell how much you have. You can't run out without noticing. But with propane... Well, the tank stays the same shape and size no matter how full it is. So if you don't really notice that it doesn't slosh when you pick it up, you might still think it's full.

So back to the story: There's one small grill roaring away, and one that has a tiny little flickering flame in one corner. The two chefs decide to use the grill that has fuel for cooking, and the grill with the pathetic little candle-flame for keeping food warm until it is claimed.

Then the CEO shows up and claims the dead grill.

Don't get me wrong, I really like our CEO. He's an amazingly nice, honest, and straight-to-the-point guy. Plus, he's the new replacement for the bad-tempered owner of the company who used to be the CEO. Think Steve Jobs from Pirates of Silicon Valley, but not so successful and without the great ideas to back up the temper.

So what does this mean? Well, at first it means that he stands there in his apron and laughs about the tiny flame. He flips the burgers that are on the grill a few times, and all is well. Then those burgers get claimed. And he throws a fresh, barely-thawed patty on.

What do you think would happen at this point? If I was cooking, the lid would go down for at least five minutes, then I'd open it and see if any cooking happened at all. Does the CEO do that? Nope. He watches the burger like a hawk for about thirty seconds, and then he mashes it with the spatula, hoping for the sizzle that you get when you squeeze a mostly-done burger on a hot grill. Instead, the patty spreads out a bit and just sits there, silently.

So he waits a bit longer, and mashes it again! It's still raw, there's no juice available to squeeze! The patty takes the abuse silently, spreads out a bit more, and starts to sink though the grate.

You'd think that at this point he'd stop mashing it and let it be. A couple of guys in line for food even mention this, pointing out how it is starting to fall through the grate. In response, he laughs and mashes it yet again!

The poor patty has completely lost its chance of ever being edible at this point, and there's nothing else on this dying grill, so the three guys in line (myself included) move to the line at the other grill, hoping to never see such burger torture ever again.

But unfortunately, the two "chefs" at this grill don't know a thing about cooking either. There is one done burger and three almost-done burgers, along with about six raw patties, two kielbasy, and some chicken breasts. One spatula-jockey just stares at everything, looking confused, while the other mashes the three mostly- or completely-done burgers mercilessly, and occasionally flips one over.

I don't know how many of you out there know how to cook a burger, but unless you're at a fast-food joint where the goal is to serve a tasteless puck of meat, you do not, under any circumstances, mash the burger. Not during cooking, not during formation, NEVER! It may make a cool sound when you squeeze all of the juices and flavor out of it on a hot grill, but that's exactly what you're doing: You're turning what had the potential to be a flavorful, juicy burger into a bland, tough, puck of meat.

So finally the guy in front of me points to the burger that's obviously done and conveys this concept of doneness to the guy manning the grill. The burger is immediately served to him, and he walks away. I continue to stare at the next burger, which by this point is completely done, as the anti-chef flips it over and over, as if expecting it to yell out, "I'm DONE!" when it is ready.

So I say, "That one's done," get my burger, and walk away.

Next year I'm bringing my grill, with the stipulation that I will be the chef on it. And I will spatula-block anybody who tries to squeeze my burgers!