Monday, April 20, 2009

Mental Filters

I write about a pretty wide variety of topics. Some common ones are:
  • Algorithm Design
  • Ethics and Morality
  • Philosophy
  • Politics
  • Learning
While these topics seem somewhat distinct, they all intersect on one question:

What things are good and how can I best do them?

The site's tag line is "Genuine and Artificial Intelligence", but the purpose of intelligence is to do good things, rather than bad things, inefficient things, or evil things. I think of each post as an opportunity to learn how to learn.

So it shouldn't surprise you that I love well reasoned and articulated explanations, especially things explaining how we think. For example, this essay on Lies We Tell Children was worth a blog post. I found one last week on the subject of open-mindedness. It's well worth the 10 minutes, so I highly recommend watching it:



There's a lot of good stuff in there, but I particularly liked the point about mental filters, starting at roughly 7:23. A lot of people think that being open-minded means you are willing to consider any idea, which essentially means your brain lacks a mental filter. They define being open-minded as accepting any idea you are told, no how far-fetched the circumstantial evidence is. What this really means is, "you should agree with me no matter what." And ironically, that's the exact definition of being close-minded, as it means they aren't open to other ideas.

The main point is that being open-minded means considering the evidence and logic for different explanations, then believing the explanations that best fit the evidence and throwing out the ones that don't. In other words, being open-minded is predicated on having an evidence filter.

Everyone is confronted with both true and false concepts all the time, and it's impossible to have a world view that only believes the "correct" things. Statistically speaking, you are virtually guaranteed to believe some ideas that are flat out wrong. But the objective is to minimize the percent of incorrect ideas you believe. That means the key word is "filter". If you have a brick wall for your mind, you are unable to accept any new ideas, so the incorrect premises you have will only turn into more incorrect conclusions. And if you have no mental protection at all, you'll believe all kinds of crazy things.

I believe many people who are truly close minded mistake the mental filters other people have for brick walls. They falsely conclude that because someone rejected their idea, that person must not be open to any opposing ideas, rather than simply having a good reason for rejecting theirs.

All of this is well and good for understanding "the other guy". But how do you make sure that you aren't "the other guy"? Remember, the most close-minded people think they are open-minded, in the same way that arrogant people think they are humble. There's no firm method to conclude whether you are actually open-minded, but keep this in mind: Truly open-minded people occasionally change their beliefs. Ask yourself this question:

When was the last time I philosophically disagreed with someone, and after we expressed our beliefs, they changed my mind?

If you think you are open-minded but can't remember the last time someone else changed your opinion on something substantive, you are probably more close-minded than you think. Recognizing when you are wrong and having the humility to admit it is the true mark of an adult mind.

Monday, April 6, 2009

Ballistic Programming

Last Wednesday I attended a talk at MIT from Larry Wall, the designer of the Perl programming language. The talk was entitled, "Ballistic Programming", but really it was excuse to talk about Life, the Universe, and Everything. And by everything I mean programming languages, their design, shortcomings and benefits, natural languages, grammar, and how his perspectives on all of these things impact the design of Perl.

Perhaps it's better to say that the talk was about "everything".

At any rate, the study of ballistics is literally about the art of projectiles. It's the source of the the term ballista, and it's based on the Greek verb for "to throw". Pretty much every sport involving a ball is a ballistic sport, as well as a few others, like the javelin toss and gun target practice. Ballistics is the art of throwing an object from one point to another, and the process works like this:
  • Select intended destination
  • Estimate force required to move object
  • Make attempt
  • Evaluate effectiveness
  • Correct next attempt using these results
Of course, this procedure applies just as well to programming as it does golf or basketball. Larry had an excellent set of diagrams explaining the two major theories of software project design. First, he showed Waterfall, a complete failure of a process in which each stage seamlessly and perfectly flows from one step the next with no backtracking. It's been known for decades that it doesn't work and causes projects to be over budget, but here's are the stages:
  • Specification (select destination)
  • Design (estimate force)
  • Implement (make attempt)
  • Test (evaluate)
  • Maintenance (correct)
The problem with waterfall is that it has no flexibility anywhere. Sometimes something will come up in implementation that demonstrates an issue with specifications or design, and those portions need to be corrected. But waterfall states that all the specifications have to be done first, then all the design, and so on. Either the whole project gets held up as flaws in the process are found, or the project is completed with flaws, producing something that no one needs and is impossible to maintain.

The other common methodology is known by the laden buzzphrase "Extreme Programming". The two main tenants of extreme programming are that you want lots of feedback loops so problems can be corrected as soon as possible, and that people should program in pairs. Since pair programming isn't relevant to the discussion at hand, I'll just give my two cents and let the issue rest. It's very useful for educating half of the pair and otherwise it's a waste of time, in that it takes more than twice as many worker-hours to do.

Larry Wall joked that in Extreme Programming, you start with the test which shows you how to implement the program. After you've implemented it, you can write your design document, and finally at the end of the project you can write the specifications. In other words, it's the reverse of Waterfall:
  • Test
  • Implement
  • Design
  • Specs
Naturally it's easy to run into problems early if you don't know what your design and specs will actually end up as. And just because you are constantly refactoring when you encounter a problem doesn't mean you refactored in the right way. Knowing something needs fixing is different from knowing how to fix it. Sometimes your next attempt isn't even an improvement on the last issue.

That said, it's is a clear improvement over Waterfall. It's easy for Extreme Programming to beat Waterfall in the same way that it's easy to beat a blind man in boxing. Just because you won doesn't mean you're any good.

Waterfall is always bad, but there's "good" Extreme Programming and "bad" Extreme Programming. Whether or not Extreme Programming works depends heavily on how you skip between the different ballistic steps. Sometimes you start in specs and move directly to implementation, then before you even get to test, you detect a problem in design. You fix the design problem, quickly make an implementation fix to reflect it, and then test it. In you can skip from any step to any other step if you are truly following the fast turn-around tenet to its optimum. In other words, Extreme Programming is just another name for:

Cowboy Coding

Losely put, Cowboy Coding is a system in which "every man does as he sees fit." No system can ever tell you the optimal way to construct the program. There will be speccing, design, implementation, and test, but who knows in what quantities and chronology. Good programmers just know from experience and intuition when to move to the next step. Now cowboy coding is used pejoratively by some programming methodology evangelists, especially those in the Agile community (a subset of extreme programming). When bad programmers try to use Cowboy Coding, the result is always a train wreck. But ironically it's the only good part of Extreme Programming, even if its proponents don't realize it. Think about it like this:

Software design metholodigies instruct programmers when to switch from one ballistic step to the next. Sometimes the methodology's suggestion is optimal and sometimes it is not. Good programmers will generally outperform the methodology's suggestions and almost never do worse. Bad programmers don't know why the next step is the correct one, so even if the methodology suggests the right step, their chances of doing the next step well are low.

You can lead a man to reason, but you can't make him think.

No amount of restriction on the software design process or programming language can turn bad programmers into good ones. They tried this with languages like Java and Python, and while they are fine languages, bad programmers still write equally horrific code in them. So you are better off optimizing your design process for the good programmers and letting natural selection weed out the bad ones.

Monday, March 23, 2009

Best of Both Worlds

A while ago I spoke with the head of a computer game development company. He explained to me that from an economics perspective, it's really important to keep the perspective on the player as a client of your company:
Imagine a graph of the player's enjoyment over time. The ideal arcade game starts the player with an amazing level of enjoyment, like eating chocolate cake with naked supermodels. Then after a minute or so, the enjoyment drops to zero so they put in another quarter.

Retail games are totally different. You only get their $50 once, meaning you want them playing the game as long as possible. This is so they'll recommend the game to friends. Having an absolutely amazing first minute isn't as important as long term playability and the general amount of content.
His comments stuck with me. A game designer needs to understand why players are supposed to enjoy the game, and whether it's more important to spend resources in one area or another. An arcade style game should focus on eye-candy and general visual "bling", including modern pay-as-you-go online games. The latest flavor of PC and console games only need enough eye-candy to initially attract people, and then get more mileage from more content. No one is happy with a pretty game that's finished in 3 hours.

He implicitly made one other point. Games are a tool for invoking emotional responses. He measured enjoyment, but games have the power to make us laugh and cry. They can frustrate us and make us rejoice. They can make us feel fearful and triumphant. It takes a truly brilliant game to do all of these things.

For me, that game is Thief: The Dark Project, from Looking Glass Studios. And by Thief, I also include the amazing sequel, Thief 2: The Metal Age. If you are unfamiliar with the game, I recommend watching Yahtzee's review at Zero Punctuation. It's delivered in his usual style of sarcasm and obscenities, but it's a very good review.

To summarize, Thief is a game that's the categorical opposite of a standard shooter. Rather than being armed with a dozen different firearms and enough ammunition to kill an entire brigade of bad guys, you play the role of Garrett, the master thief. Garrett is so weak that he's likely to die if he's involved in a fair fight with even one guard. Your whole job is to make sure that you never have to fight fair, ideally by avoiding fights altogether. The missions generally involve breaking into and out of heavily armed facilities, with every level providing a multitude of ways to approach it.

For example, to break into a manor, you might climb up onto the second floor and break a window to get in, sneak around to the back door and pick the lock, or knock out man guarding the front door. Each option has different challenges and benefits. Breaking a window is noisy and sure to attract guards to investigate, but being on the second floor means you're much closer to wherever the lord is keeping his valuables.

As a character, Garrett is a typical anti-hero, something I found refreshingly more believable than the standard do-gooder hero of today's games. Garrett is self-centered, distrusting, arrogant, and apathetic. He just wants to steal enough valuables to retire in style. But he's also extremely clever, and as a character, he is manipulated into both putting the world in danger and saving it through his natural reactions. Garrett only wants to save the world because it implicitly saves his own skin, and he'd rather not put himself in that much danger. But he doesn't have a choice, and the puppeteers in the game know this and take advantage of him because of it. To me, that's a much more believable character than an obscenely powerful special ops soldier who fights evil terrorists Just Because He's That Nice Of A Guy! I won't spoil the story because even after 10 years, it's still excellent.

I found the gameplay intense because it was the first game where I felt genuine fear. I'm not talking about the kind of frightening situations they'd put in a game like Resident Evil, where a zombie pops up out of nowhere and charges at you. That contains all the subtlety of a carnival funhouse. There's a difference between frightening and feeling fear. True fear comes from an impending sense of dread and worry, and that's something a zombie surprise cannot deliver. In Thief, however, you spend the entire game as a weakling. You know that if you make a single mistake, a whole slew of guards can appear and bring a world of hurt. So the entire game is spent wondering if you are hiding in a dark enough shadow, or if you can find a nearby window to jump through if things go downhill.

I'm so impressed that a game could do such a great job of bringing out a variety of emotions. In the space of one minute, you can go from suspense to fear to terror, and then feel extremely pleased with yourself by barely escaping death and finding a well hidden piece of treasure. And never have I played a game where the main character was so despicable, and yet I found myself liking him anyway.

I know that games should either be a lot of fun for a little bit of time, or a little fun for a long time. But somehow Thief manages to be the best of both worlds. The gameplay is always intense, and the story is so good that it hasn't gotten old in the half dozen times I've replayed the game. Somehow, this game embodies the best of both worlds. And while Looking Glass Studios is no more, I hope that someday someone makes another game as good as Thief.

Monday, March 9, 2009

Love Thy Neighbor

Earlier this week, a reader made an interesting comment on my God of Stone post. Bryan analyzed the logic in the post and pointed out that it seemed to argue both in favor of and against revisionism in religion. My argument is actually progressive in nature. I favor revision religion when it's an improvement for humanity and I'm against revisions that are not. For example, removing the moral restrictions on eating pork is a good revision. Praying to a statue of the infant Jesus is not.

As a reminder to newer readers, I am not a Christian anymore, although I was a highly devout one for thirty years. For an explanation of why I left my religion behind, you can read the posts In The Cleft of the Rock, The Man Behind The Curtain, and The Emperor's New God. I am now a humanitarian agnostic. In other words, I'm not sure if God exists, but I believe morality and ethics have meaning even outside the context of God.

While I don't agree with everything the Bible says, I certainly understand the perspective of those that do. Having studied the Bible for decades, I'm convinced that the biblical authors had a similar perspective-- that the true measure of morality and immorality is whether an action helps or hurts humanity. Furthermore, religious authorities in the Bible had no problems revising laws when the new law provided a greater benefit to humanity.

The clearest statement of this philosophy comes from Jeremiah 7. Jeremiah has received a message from God for the people is Israel and soundly chastised them for their idolatry and other immoralities. Then in verse 19, it says:
"But am I the one they are provoking?" declares the Lord. "Are they not rather harming themselves, to their own shame?"
In other words, no amount of immorality can possibly harm God. The whole reason things like idolatry are sinful is that they harm the sinner, by pushing them away from a God that loves them and will bless them with his presence.

This is a crucial argument. Given the premises of the Christian religion, it is absolutely impossible to harm God. Because God loves humanity, he wants them to prosper. Therefore, the only things that God considers sin are those things that work against the humans he loves. So if something doesn't harm any portion of humanity, it cannot be a sin.

Things are only sinful if they harm humanity.

I encourage Christians to stop thinking about God as a random set of likes and dislikes. "God liked Jews and hated pigs. Then later he decided pigs were alright, but homosexuality was still bad." That's just irrational. If you believe in intelligent design as most Christians do, then you need to accept that your God is rational and work from there. God likes stuff that helps humanity and hates stuff that hurts humanity. He might have a better understanding of what "help" and "hurt" mean, but that's as simple as it gets.

When you view the evolution of religion as a gradual improvement on rules that benefit humanity, many stories in the Bible make more sense. For example, in Genesis 9:3-4, Noah has just survived the Ark, and God changes the law of what food humans are allowed to eat. Before the flood, humanity was supposed to be strictly vegetarian, but now God says it's okay to eat animals. Why did God revise his law? Animals were no different than they were before the flood, and now there are fewer of them. Either you think this story is factually true, in which case God must have changed his mind. Or you think this is just a story, so at least the Bible's author has revised the religious law. In either case though, the reason for the revision is clear-- the new law benefits humanity more than the old law did.

God isn't the only important religious figure who revised the Judaeo-Christian religion. Jesus did too, in his Sermon on the Mount. Starting at Matthew 5:17, Jesus says:
Do not think that I have come to abolish the Law or the Prophets; I have not come to abolish them but to fulfill them.
He then proceeds to give nearly a dozen different examples of things people should do different from what the Torah (the law from Moses) instructs or permits. Here are some of these:
  • Insulting people is sinful
  • Looking at a woman lustfully is as bad as adultery
  • Divorcing a woman who has not been unfaithful is sinful
  • You should not seek retribution on people who have offended you
  • Love your enemies
The entire Sermon on the Mount was a revision of the Torah, or at least a reinterpretation. If Jesus said he didn't come to abolish the law and then proceeded to contradict the Torah, then the Torah must not be the law he was talking about. The simplest explanation is that the Torah is merely one interpretation of the laws "Love your God" and "Love your neighbor as yourself". This interpretation can be improved, and that's exactly what Jesus set out to do in his Sermon on the Mount.

If God was willing to revise his own law and Jesus could revise the law God gave to Moses, then everyone who believes the stories in the Bible must logically conclude that revising religious laws can be a good thing, as long as the new law does a better job of loving your God and neighbor. Sometimes the Bible got it wrong and needs to be improved with a good dose of common sense. If Jesus did it and Christians are supposed to act like Jesus, they should not be afraid to apply common sense to their religious text either.

And while I'm not a Christian anymore, this is the reason I believe that every Christian should be pro-gay. There is nothing about homosexuality that is inherently harmful to any human. It makes the couple happy, so logically there's no reason it should offend God. If there are rules against it in the Bible, then maybe those authors just didn't hear from God correctly and people should reconsider whether a ban on homosexuality actually embodies "love your neighbor". It's not at all loving to telling two consenting adults that they cannot marry each other just because they are of the same gender.

Monday, February 23, 2009

Nowhere To Run

Recently I was contacted by the project leader for Q3/PMX. As far as the AI for PMX goes, the plan is similar to BrainWorks: they want a solid AI groundwork for Quake 3 that other mods can easily build off of. As it's been nine years since the initial release of Quake 3, computer processing power and memory storage has greatly increased, so Q3/PMX has some pretty cutting edge objectives for new AI technology. In fact, computers these days are so fast that they can run Quake 3 in a browser. As I understand it, one major portion of PMX will be reworking how Quake 3 AI handles its pathing and routing, which has been a major thorn in my side. If that problem were solved, in my mind there would be one hard problem remaining for artificial intelligence in Quake 3:

Where do you go when there are no items on the level?

This might not seem like a big deal at first glance. But remember that bots use items as the primary motivating factors for deciding where to go. The pathing and routing code will tell you how to get from point A to point B, but all of that is meaningless if you don't know what point B is. The typical strategy is for the bot to pick up the items that help it the most and require the least amount of movement. If the bot can't find any enemies, it will head to the nearest generally useful item and hope a target wanders by. Item placement is the core component of goal selection in BrainWorks.

If you take away the items, everything falls apart.

The bots will simply run after enemies and hope to maintain a reasonable distance. Even a marginally competent player could exploit the bot's predictable behavior.

When two human players are in a level that contains no items, however, they don't get confused at all. Instead they strategically run and hide around the map, using cover to create good shots on the opponent while dodging their return fire. What BrainWorks is missing (and all first person shooter AI bots for that matter) is this dynamic tactical movement. You just don't notice it's missing from BrainWorks because of the item pickup code.

It's very difficult to design AI that can recognize and avoid dangerous areas of terrain while simultaneously taking advantage of opponents in those spots. But it's not impossible. And thanks to nine years of increased processing power and memory, I think it could be a reality in today's games.

Here's the basic algorithm I have in mind. The first objective is to create a "danger map" for the level. The danger map estimates how tactically risky it is to be in each area of the level. Note that "area" needs to be relatively small-- roughly one to two square meters on the ground. Too much larger and the algorithm will get muddied, mistaking good regions for bad. Too much larger and the computation will become prohibitive.

It's far too hard to analyze the geometry of a level to create a danger map, although some simple techniques could be used for a first pass analysis. Instead, the AI could analyze statistical data of players on the level, recording where players are when they got shot and where the attacker was when they made the shot. When this data is combined with statistical tracking of how often players are in a given area, you can create an estimate of how likely you are to get shot in a given region, and how likely you are to shoot someone else. The danger map would be generated using actual statistics from hundreds or thousands of hours of play time on the map.

The likeliness of getting shot is your "danger estimate", and the chance of shooting someone else is the complementary "tactical estimate". Using these values, the AI can evaluate which areas it should definitely avoid (high danger) and which areas it should head towards (high tactics). Note that some areas might be both dangerous and valuable. Standing on top of a pillar gives great vantage for shooting nearby targets, but offers very little cover and escape routes. Bots that were high on health might consider maximizing their tactical position more important than minimizing danger, while a wounded bot would do the reverse.

This all sounds well and good on paper, but if it were actually that easy, it would have been done already. You might be wondering what the catch is.

This algorithm requires an awful lot of training data. If you divide the level into one cubic meter boxes and track danger estimates for all of them, it will take a very long time before you have reasonable estimates for the entire map. There are some tricks that can improve the estimates when less data is available, however.

The basic idea is that if you don't have enough information for the current location, you average together the data for nearby locations. You might not know exactly what position (107,523) looks like, but it's probably similar to the data you have for (110,520). If you have enough other sources of nearby information, you can come up with a reasonably good estimate. The less data you have, however, the further away you have to look for estimates, and the less likely that data is relevant.

Once you have a solid danger map, you just have to teach the bots to avoid dangerous spots and seek out high-value spots. The algorithm could even be expanded to learn which tactically advantageous spots are the best at shooting at targets in a particularly dangerous location. In other words, if the bot realized its target was in a pit, it would look for high ground that's specifically good for shooting into that pit. This might sound more sophisticated than any first person shooter AI currently in existance, and it probably is. But I believe that even simple algorithms can give results far better than the current crop of AI code. This is something that could work on today's computers.

Monday, February 9, 2009

God of Stone

A few weeks ago, I found a Catholic religious pamphlet in a subway car extolling The Infant Jesus of Prague. According to the pamphlet, praying devotions to the statue will cause God to intervene on your behalf and bless you with prosperity. Most non-religious people would regard such claims with mild amusement and derision, but I found myself deeply offended. My issue was not with the mystical claims, but the encouragement to pray to a statue. It goes directly against one of the Ten Commandments, something all Christian denominations (including Catholics) uphold to this day.

The second command says, in abridged form, "do not make or worship any idol". This command was ostensibly from God himself. It doesn't say, "do not worship idols unless they are of me or my messiah". The text is very clear. So when the Catholic church simultaneously says "don't worship any statues" and "give reverence to the Infant Jesus of Prague", they are being logically inconsistent. More than anything, I am offended at the irrationality of the claims. The Catholic church cannot have it both ways. I'm sure they would claim that this is not really idolatry because the statue is of Jesus, the true God. But the actual text in the ten commandments is clear that no physical object should be worshiped, even ones that represent God.

When I went to church as a child, I was taught that the Bible's warnings against idolatry were really a warning against making other things more important than God. In other words, if you value your friends or your grades higher than God, then you've made those things into an idol. While this explanation makes logical sense given the premise that nothing is more important than God, it is fundamentally reinterpretive. When the authors of the Bible warned against idolatry, they really were warning against worshiping stone statues. Now some of the post-exilic writings contain threads reminiscent of the modern reinterpretation, such as the Book of Haggai.

But I wonder how much reinterpretation is too much. Is it really fair to say that the Torah really meant to say, "idolatry is making anything more important than God?" If that statement is true, why does it matter whether the Torah said it or not? The source of a statement doesn't matter as much as the content. It is better to let the ancient writings say what they say, and be honest about our revision. "We allow people to eat pork because there's no good reason to disallow it, even though the Torah says otherwise."

Ancient religions depend on modern reinterpretation to remain relevant today. Or put another way, religions that fail to remain relevant lose followers. I believe this is why there are so many different religions and sects. The religions that have survived for millenniums are those that are most tolerant of revision. Christians and even many liberal Jews have no problems eating pork or letting women wear pants, something that would have shocked Moses. Even one hundred years ago, interracial marriage was outlawed nearly every Christian church in America. I suspect that in another hundred years, the majority of Christian churches will marry gay couples. When a religious law no longer has practical benefits, the religion always revises itself, even if it's a century too late.

This makes me wonder, however, why religions are so willing to revise their laws but so hesitant to revise their gods. The status of legendary religious figures does change slowly over time though. For example, in pre-exilic writings, Satan is portrayed as a henchman of God whose job is to test humanity. After the Babyblonian exile, Satan becomes the adversary of God whose job is to destroy humanity. The clear concept of the messiah doesn't appear in Jewish writings until this time either, although post-exilic rabbis began to interpret the Torah as if it subtly implied a messiah. And the Christian church didn't official decide Jesus was actually God (not just the son of God) until a few centuries after his crucifixion. But in the grand scheme of things, the identity of a religious figure changes much slower than the interpretation of a religious law.

Perhaps the application of ancient laws to modern life produces a stronger discorde than imagining diefic powers operating in Manhattan. The revision of religious figures only seems to occur after the religion's followers as a whole face extreme persecution-- the Babylonian captivity, or Christian oppression under Roman emperors.

From my perspective though, I don't see much of the use of these religious figures. There's a lot of good philosophy in Christianity, and that is worth keeping. But the concepts of God, Jesus, and Satan don't have any real impact on my life. I used to imagine they did in the same way early Jews worshiped idols of Baal. God was my idol of stone, and I realized the good Christian philosophy didn't have anything to do with praying to Jesus. Revising my concept of God might shock modern Christians, but to me it's no different from revising prohibitions on pork. In the end, all religious philosophies evolve to become a set of rules that benefit society as a whole. Dieties aren't required.

Monday, January 26, 2009

I Like This Duke

As I've mentioned before, the book Dune shaped much of my adult thinking. In Dune, Liet Kynes meets the Duke Leto Atredies to give him a tour of Arakis, the planet the emperor has given to Duke Leto. Kynes is a servant of the emperor as well as imperial planetologist-- think head of the EPA on a galactic level. Kynes is also a member of the Arakeen native population, and Duke Leto has come to the planet to mine it for spice, an obscenely valuable commodity. So Kynes has good reason to hate Duke Leto. Leto is consuming resources from Kynes' home planet, undermining Kyne's task of protecting and understanded the planet. Leto is an external force that could disrupt the planet's entire ecosystem and destroy Liet Kynes' people.

Yet the second time Kynes meets the Duke Leto Atredies, Kynes changes his opinion on the duke. The two go out to survey a spice mining operation. Something goes wrong with the harvester which has almost a full load of spice. The load was worth rough one million times a worker's lifetime wage. Yet rather than worry about the spice, Leto goes through extraordinary means to save every last person working in the harvester. He shrugged off the value of the spice without a second thought, arguing that they could always get more later. In the words of Liet Kynes,

"This Duke is more concerned over his men than the spice! I must admit, against all better judgement, I like this Duke."

My interest in politics stems from the fascinating drama of the story. And politically, I'm very jaded. I believe that almost invariably, politicians act in their own best interests. They only helping the populous out of self-motivation. For example, senators get additional funds for their state so that they will be re-elected, and they try to get elected so they can acquire "campaign contributions" (essentially bribes) in return for passing laws that favor wealthy organizations. Politicians do both good and bad things with their power, but nothing is motivated out of selflessness. Even their good deeds have selfish motivations. So when politicians promise change and a renewed pledge to defeat corruption, I don't think anything of it.

I find myself in a similar position to Liet Kynes as I watch President Barack Obama. I'm not expecting a miracle from the man, and his promises of hope and change strike me as typical campaign messages from younger politicians. As a politician, Barack Obama is untrustworthy until proven otherwise, and even then he's still suspect. But against all my better judgment, I like this President. The feeling is extremely disturbing.

As I have very different expectations for President Barack Obama as other people have, I suspect I like him for very different reasons. I think a lot of people like Obama simply because he's not George Bush. Certainly many people like Obama because he's not white. Obama is empirical proof that minorities can earn just as much success as white people. He is also a symbol of a new generation, being the youngest president America has had in decades.

Symbols inspire, and living symbols have high expectations. But I'm unmoved by Barack Obama, the symbol. Rather, I am inspired by Barack Obama, the man. In many of the decisions he's made so far, I feel like he is paying well more than lip service to his promises. For example, his secretary of energy, Steven Chu, is a professor with a Nobel Prize in Physics. Who was the last secretary of energy that even had a PhD? I know the standard decision is to choose a board member of an oil company like Exxon and have them recommend policies that involve deregulating polution control and not investing in alternative energy. But actually chosing someone who is respected by the entire science community as a top member of his field? That's totally unheard of, and well beyond my low expectations of who would be selected for a political position.

Similarly, Obama's adamant stance on closing the Guantanamo Bay detention center is beyond the standard political posturing statements. Normally politicians will decry how human rights are being violated, but they won't actually do anything about it, or they risk losing votes from people who think that they can secure safety for the nation by torturing potential enemies. Obama seems very intent on doing something about the situation even if people disagree with him.

I believe George Bush initiated the two wars with Afghanistan-based terrorists and the country of Iraq out of vengeance. As a man, Bush views loyalty as something to be rewarded and dissent as something to be punished, and this is the extent of his motivations. Even though Bush claims he always "does what he feels is right", his definition of whether someone is right or wrong seems eerily correlated with whether or not they agree with his opinions. It's a bit of circular logic which always concludes, "I'm going to do what I'm want no matter what." The true test of whether you do what is right is how often you do things you don't want to do.

In contrast, Obama is very pragmatic man. He wants peace in Iraq because destabilizing the middle east makes life worse for America, not better. He wants to continue the fight in Afghanistan because the terrorists intend to strike America again. And he wants the US government to stop torturing prisoners for two main reasons. First, it makes many other nations hate America. And second, torture simply does not work. Studies have shown time and again that information extracted from torture is highly unreliable. Torture has no use as a tool of interrogation. It is only a tool of revenge, which is why it was used in the Bush administration and why Obama wants nothing to do with it.

I still think Obama is a politician, and his objective is to get reelected. But his apparent plan for reelection is to do as much good for America as possible, picking the most practical and pragmatic solutions rather than the solutions with the best image. If he wants to make America a better place for selfish reasons, that's fine by me. I hate to say it, but I like this president.