Wednesday, January 31, 2001

There's something pleasant about the act of organizing information. This comes as a bit of a surprise from someone who abhors doing 'administrative tasks' such as paying bills, buying stamps, getting gas, filling out forms, etc. But there's a big difference between filling out a form, and corollating the data from that form.

But that's for the statistians, brave folk that they are.

Data is not information. Sure, data can support information, and data mining can reveal information, but organization of data is a level or two lower than the organization of information. Of course, for this organization to be in any way useful, the information that you have must lend itself to some sort of organization scheme. But developing this scheme is part of the challenge, and certainly part of the fun. Programming can be seen as getting, storing, transmitting, and displaying data. Sure, it's easy to see how this would apply to a word processing program or a spreadsheet, but it's worthwhile to consider how this would apply to Quake III or Photoshop. Not too much thought will convince you that I'm right.

Which should come to a surpise to no one.

Some of mathematics lends itself very well to an organization scheme. And I've put a lot of thought into writing a program to support this idea. But I haven't put in any 'real effort' as I am yet to convince myself that such a program is possible, without being vacuous. All of mathematics, if I will be allowed this heretic generalization (yes, you may, but only this once), is Propositions, Definitions, and Examples. Although examples aren't really necessary, we just like them because we are human beings and they make things clearer, if you pick good ones. Otherwise, examples are unncessary.

Defnitions are the starting point. We have to take some things for granted (e.g. what does number, rule, set, or value mean?), but not much. Well, yes, one could define sets in terms of classes, and then let classes be the big fuzzy ill-defined thing, but that's another story. A function from one set to another, then, would be defined as a rule which maps elements of the first set into the second. We call a function onto if the function sends at least one thing in the first set to something in the second set.

At this point, if we wanted to know something about a function, or had a question about a function, we only have the definition, so we go back to that. But later we see connections in the form of "Every time A happens, I have B." Then we call these types of things propositions. For example, if a function from set A to set B is onto, then B has at least as many things in it as A.

The best part is that we can use propositions to build other propositions. That type of recursion (if I may abuse the term thusly) is what I consider beautiful. Starting from the foundation of definitions, we build more and more bricks of propositions until we have an entire complex structure. It's very object-oriented, to switch topics at a whiplash speed. I think this deserves a new paragraph.

The great part of encapsulating functions is that you can just call that function as a black box, and not have to worry about the details each time.

The great part of making propositions is that you can just invoke them when you satisfy the hypothesis, and not have to worry about the definitions each time.

Anyways, back to work.

Tuesday, January 30, 2001

Sinfest is a comic. Read it.

Monday, January 29, 2001

The integers are countable: Let's call the integer 0 ="1", and then call 1 = "2", and -1 = "3". Continuting in this way, n = n*2, and -n = n*2+1. This allows you to "count" the integers using only natural numbers, proving that the integers are countable.

For extra credit, prove that the rationals (all numbers of the form a/b where a, b are integers) is countable as well.