Wednesday, November 19, 2008

Interoperability

There are many distinctions between Microsoft, Apple, and Linux, but one of the most fundamental distinction is how they implement interoperability. In other words, how do different programs and technologies on a computer work together?

To demonstrate the differences, I will use an analogy of a business that employs many different people that do not all speak the same language. The question at hand would be "how can all these employees work together to accomplish common goals if they can't understand each other?"

The Apple solution is to fire everyone who doesn't speak a certain language. This approach makes for a great deal of simplicity; the employees don't have to worry about different languages at all. But that also means that the bulk of the potential employees go elsewhere to find work and only so much can be accomplished by the few remaining employees.

The Microsoft solution is to create a centralized interpretation department that acts as a middleman between all of the other employees. As long as an employee interacts with that department, they can indirectly communicate with any other employee without worrying much about what language the other employee speaking. The downside to this approach is that it requires more overhead, employees have to commit to using the interpretation department, and every now and then an employee runs into a limitation within the interpretation department and has to manually perform the translation.

The Linux solution is to leave the employees to deal with the translation problem themselves. If an employee speaks English and wants to work with an employee that speaks Japanese, either one or both of them will have to learn the other's respective language. Compared to Apple, this allows many more employees to be employed but at the cost of greater linguistic complexity. Compared to Microsoft, this allows employees to be less constrainted but at the same time they do not gain the benefit of being able to know a single language and still communicate with many other languages.

Also note that even though in the Linux business model employees are free to learn any language, oftentimes the language barrier minimizes how often people actually interact with people who speak a different language, so that more than in the Apple and Microsoft camps, in the Linux camp you will generally find more redundancy, such as the Spanish speaking people making a nearly identical product as the German speaking people, simply because it would have been too much work to pool their resources.

Even though the Linux route looks more distinct compared to the Apple and Microsoft routes, it is important to note that oftentimes groups of people within the Linux camp will gather together to create smaller interpretation departments of their own.

Much of this essay can be summed up in the following statement: Unity and Flexibility are inversely proportional.

Read more!

Tuesday, October 7, 2008

Modifying Systems

In this essay I will present arguments in favor of two related propositions:

1. A system cannot modify itself (it's definition).

2. A system cannot produce a system more advanced than itself.

(Technically, it would be more accurate to say "a system cannot modify it's fundamental functionality" and "a system cannot produce a system with functionality that the first system did not possess", but that is a subtle distinction that I don't think most of my readers (if there are any) will be affected by, and so I won't make things more complicated than they already are until someone else raises the issue.)

But enough disclaimers. Let's say you got into your car and drove to the local grocery store. Once you had arrived at your destination, people generally would not say that the system of that car had changed over the course of your drive. Its spatial coordinates would have changed, but not the system itself. Next, let's say that the car is low on fuel so you drive to the gas station and refill the fuel tank. Has the system of the car changed now that the amount of fuel in the car has increased? No. It is the exact same system. All that has happened is a variable within that system has been modified. To depict this, I will use simple computer code that is hopefully general enough for non-programmers to understand:


function drive_east()
{
if (fuel > 0)
{
position.x = position.x + 1
fuel = fuel - 1
}
}


function refuel()
{
fuel = max_fuel
}


Regardless of the state of the fuel variable, the underlying system will not change. To make an actual modification to the system a person would have to modify the core design of the car itself, such as by adding a secondary fuel tank, which would make the system look like this:


function drive_east()
{
if (fuel > 0)
{
position.x = position.x + 1
fuel = fuel - 1
}
else if (second_fuel > 0)
{
position.x = position.x + 1
second_fuel = second_fuel - 1
}
}


function refuel()
{
fuel = max_fuel
second_fuel = max_fuel
}


That would be a change to the system. Notice that now the system is fundamentally more complex.

There is an urban legend going around that it is possible to make robots that can "learn" and "evolve". I agree that robots can learn in one sense, but not in the same sense that humans conceptualize the idea of their own learning. (Though the understanding of human learning is beyond the scope of this essay.)

A robot can be designed to gather data and respond to that data. As long as that data remains outside the bounds of external modification it will not modify the functionality (and hence the fundamental design) of that system. The robot can process that input, but that input will never modify the process that processes that input. For example, it doesn't matter what kinds of radio signals a radio receives, picking up those signals will not turn that radio into a television.

As somewhat of a sidenote but also to further explain my point, a system's functionality can only be modified by a source it was not designed to process. For example a pier could be designed to process (or in other words, respond to) waves so that the pier is not affected by the waves, but it might be modified (flattened) by a tsunami because it was not designed to handle waves of that size.

As another example, let's say that someone opens up a machine and starts rearranging wires. And to crystallize the example, let's say that the machine has a very modular construction and was designed to have these wires arranged in a wide variety of configurations. In this instance there are two fundamental systems involved. (Three if you count the person.) There is a generic system of wires, which is not being modified by rearranging the wires because that is what the general system was designed to do in the first place, and a specific system of wires, which was the original configuration of wires before the person began rearranging the wires and effectively altered that system. The generic aspect of the system received an input signal that it was designed to process and thus was not modified by that input, while the specific system was modified because it was not designed to respond to that type of input.

My second proposition, that "a system cannot produce a system more advanced than itself", is a logical result of the first proposition. As I already explored in my essay on production, the product of an equation is identical to the equation itself. For a system to create a product with certain functionality that producer system must already contain that certain functionality. It's a simple matter of cause and effect. To expect anything else would be to expect a mold of a human's face to produce a face that has different features than the mold does.

If a system could produce a system with functionality that the producing system did not possess, that first system would be essentially modifying its own functionality, which would conflict with the first proposition. Both of these propositions are different sides of the same coin. They are either both true or both false.

Read more!

Friday, September 26, 2008

A Fallen Oz

But the serpent said to the woman, "You will not surely die. For God knows that when you eat of it your eyes will be opened, and you will be like God, knowing good and evil." (Genesis 3:4-5)

As I've been cleaning theaters the past few months I've been hearing a number of the songs from the musical "Wicked". Two things quickly stood out to me: how devious the lyrics were, and how phenomenal the music was. That is not a very healthy combination for audiences to ingest. I wanted to hold those songs accountable to reality, but I felt like I did not know enough about the story. So this week I read the book.

Gregory Maguire is a very intelligent author. I did not expect the book to be as philosophical as it was, which was a pleasant surprise. My favorite kind of literature is fantasy that uses analogy to wrestle with metaphysical questions, and "Wicked" does that more than any non-Christian book I've encountered. So even while I heartedly disagree with the book, at least it was mentally stimulating. (Though for any Christian readers out there I would also heartily recommend you not read it due to it's trashy adult content.)

I also had not expected it to revolve so much around religion. Religion played a huge role in the story. However, this is where I also begin to disagree with Mr. Maguire. The primary religion in Maguire's Oz is called "Unionism", and my problem with it is that it carries with it much of the style of Christianity without the substance. It is a strawman. Audiences in general will most closely associate it with Christianity, even though it is not an accurate representation of Christianity. The faults that Maguire attributes to religion in general do not apply to Biblical Christianity in specific. The characters in the story that hold to the "Unionist" faith do not believe in things like the doctrines of salvation through grace alone (Galatians 2:16) and God's sovereignty (Romans 9:6-27), they have no metaphorical equivalent to Jesus (1 Corinthians 15:12-19), they have nothing reminiscent to a Biblical moral code, and those are just some of the discrepancies. Sure, without such things I agree that religion looks pretty stupid.

Then there is the matter of the nature of evil, which is brought up frequently throughout the book (though surprisingly not as much as religion, even though the book is titled "Wicked"). One of the supposed goals of the book is to show that Elphaba, the Wicked Witch of the West, really was a better person than most of the "good" people. And I believe he made a successful case. How did he do it? By removing any contrast. In Maguire's Oz there is no good. There is no transcendence. There is no hope. The "good" people were of course all hypocrites. The one possible exception might be Dorothy Gale, who is portrayed as the closest thing to a genuinely moral, loving character in the story. And yet Maguire's Oz seems to recoil away from her and in the end all we see is harm come from her apparent kindness. Also, in reading about the sequel, "Son of a Witch", it sounds like she becomes more hypocritical like the rest of the "good" people in this Oz.

At several points throughout the story Elphaba emphatically states that she has no soul. At one of those points another character suggests (quite astutely) that she is effectively trying to remove herself from any moral obligations. And yet even though the question of whether or not she has a soul is brought up at least a dozen times in the story, no one bothers to define what in the world a soul actually is, which makes the question ultimately meaningless. Besides, in Maguire's Oz there is no eternal judgment, so in the long run whether you do good or bad won't matter, and in light of the conduct of all the characters who supposedly do have souls, using an Oz soul as a moral compass is worth less than a bullet to the head.

Those are just some of the concerns I had with that book. In many ways I am impressed with Gregory Maguire's intellect, but ultimately it does not look like any of that brilliance has brought him any hope, nor any hope to offer through his literature.

Read more!

Monday, September 22, 2008

Scatman

For consider your calling, brothers: not many of you were wise according to worldly standards, not many were powerful, not many were of noble birth. But God chose what is foolish in the world to shame the wise; God chose what is weak in the world to shame the strong; God chose what is low and despised in the world, even things that are not, to bring to nothing things that are, so that no human being might boast in the presence of God. (1 Corinthians 26-29)

Once again I delve into my favorite passage from the Bible. I just can't get enough of it. In this blog entry I'm going to be relating that passage to a man that probably was not a Christian, and taught some humanistic ideas, but at the same time reflected many of the principles Paul conveyed to the Corinthians.

The man I am speaking of is John Larkin, also known as Scatman John, or just "The Scatman". Here is a music video of his most famous song, aptly named "Scatman".



The more I watch that video the more I fall in love with it. But more on that later; for now I want to bring attention to the lyrics of the song, which are little hard to pick up. Below is the lyrics that interest me the most:

Everybody stutters one way or the other
So check out my message to you
As a matter of fact
Don't let nothing hold you back
If the scatman can do it
So can you
Everybody's saying that the scatman stutters
But doesn't ever stutter when he sings
But what you don't know
I'm gonna tell you right now
That the stutter and the scat is the same for you
I'm the scatman


Larkin was born with a severe stutter, but he used that as a strength by channeling it into some of the most phenomenal "skat" ever recorded. But I think his stuttering was more beneficial to him than just that. I've read what many people said about Larkin, (who died in 1999), and one thing that stands out was his humility, and a passionate concern for the sort of people the world tends to ignore. I suspect that those were direct results from his handicap. That and God's grace on his life.

The one part of those lyrics I disagree with is the aspect of "you can do whatever you want to do." That is the opposite of the point I am trying to make. As Jesus said in John 15:5, "apart from me you can do nothing". It is not in our own strength that we can overcome our limitations, but through Jesus Christ. (Romans 8:37) But I do agree with Larkin when he says "everybody stutters one way or the other". I think that line conveys a similar sense of humility as the passage I referred to earlier in 1 Corinthians. Everybody stutters one way or the other. It is God who uses our stuttering to praise Him.

And to me that music video is a great example of God using the weak things of the world to shame the strong. Here you have a jazz musician somewhat thrown into a "hip" Eurodance setting that I'm certain he did not completely relate to. (You can see all of the jazz imagery paying homage to what he would normally be doing.) I mean look at him! He looks like he stepped out of the 1930s! And yet he pulls it off flawlessly, largely due to his total lack of pretensiousness.

Throughout the music video he is accompanied by a host of unusual characters. Some of them are what convention would say is "cool". Some of them are what convention would call decidedly "uncool". And yet they all blend together as a beautiful mix of humanity. People from all nations and all walks of life, unified through the acknowledgment of their own weaknesses and yet not being worried about what people think of them but instead rejoicing because they've been set free from all those things. To me that is an unintential, and yet nonetheless wonderful picture of the Church of Christ.

(I have to also say that that music video is phenomenally edited. While there are some edits that don't seem to quite work, on the whole it is mesmerizing and whoever made it must have put a lot of work into tweaking the timing of the footage so that it could fit so harmoniously with the music.)

Read more!

Thursday, June 5, 2008

Complexity

Below are two images I created using algorithms.   Which image is more complex, A or B?   Or are they equally complex?


AB

Now here are two more images.   Which is more complex, C or D?   Or are they equally complex?


CD

For the first question I assume that most people will choose B.   For the second question I assume that most people will choose D.   There is a certain sense within which the second question could be answered in that manner, but not when paired with the first question, and I will explain why in a moment.

More and more I am noticing an ambiguity in the use of the idea of complexity.   I have observed it in both average joes and in the most venerated of scholars.   They will use the word "complex" to refer to very different ideas, sometimes within the very same sentence.   This is not a good thing, for this vague inconsistency is allowing irrational propositions to sound sensible.

I created the quiz at the beginning of this essay to demonstrate that inconsistency.   In the first question, B is clearly more complex than A.   But the second question is not as straightforward.   In one sense the images look very different.   And yet they were built with identical algorithms.   The only difference is that with image D the range of the equation was greater.   You could increase the scope of the algorithm to encompass millions of pixels and the pattern would never really change.   In essence, compared to the first image, the second image is just more of the same.

If you were to reduce images A and B to their most simple definitions, (the equations used to generate them), B would still be more complex than A.   But if you were to reduce C and D to their simplest definitions, their complexity would be identical. (  Note that while what I am talking about is similar to the idea of Irreducible Complexity, it is not the same thing.) 

I am not going to try to define complexity in this essay.   That is a vast and complex subject.   I am simply bringing attention to a particular slice of complexity.   I will however, note that usually definitions of "complexity" involve the idea of multiple parts connected to each other.   What I am showing in this essay is that there is an important distinction between a system comprised of many identical parts and a system that is comprised of many parts with different essential attributes.   To better explain this I will return to my example of the images.


AB

Most people would say that image B is more complex than image A, and yet the images themselves contain the exact same number of pixels.   To relate that idea to my last paragraph, they have the same number of parts.   And yet when the human mind perceives image A it can summarize it as simply "a square comprised of pixels all of the same color", while the human mind cannot summarize image B into such a neat package.

Another way to illustrate this would be to take a car and glue hundreds of small random objects onto its surface.   In one sense that car would become more complex because it would be comprised of many more parts than it had been, but since none of those parts would actually be essential to the car's functionality of getting its occupants from point A to point B, in that sense the system of that car would not be any more complex than it had been.

This ties back to my last post on how Process = Product.   When I created the algorithms that generated those images, I could have had one of those algorithms additionally check my email and defrag my hard drive, which would have made the algorithm much more complex but as far as the image that it generated, the image would not have changed.   Within the context of the generated image those additional functions would be superfluous.   Mathematically, that would have been the equivalent of taking the following equation:

x = 5

and changing it into:

y = 1
x = 5 + y - 1

In one sense the second equation involves more parts, but in another sense it is just as simple as the first equation.

So in summary, all I am doing in this essay is trying to define and describe these two different dimensions of complexity.   Ideally I should have a term to describe the first type and a term to describe the second type but I don't yet have any good terms for these ideas.   I'm hoping that perhaps a reader of this essay will know of terms for these ideas that already exist and inform me of those terms.

Read more!