Thursday, February 10, 2011

Evaluating units

I spend a lot of time thinking about units. As the framework in which we take the measure of all things, our choice of units is vital.

There are several desirable qualities one should strive for when considering the design of units. These qualities are often contradictory and we can evaluate a unit in terms of those it does satisfy. In my opinion, these are the most valuable properties a unit can have:

A unit that is natural arises directly from our understanding of nature. In order to be considered natural, a unit must reduce the complexity of the physical constants when they are considered with the unit as part of the basis. An example of a natural unit is the charge of a single electron, or the charge of a single quark. Examples of non-natural unit are pH mol and meter.

A unit that is anthropic corresponds directly to a low-variation fact of human life that is directly intuitive to the human imagination. An example of an anthropic unit is the day. An example of a non-anthropic unit is the meter, since Earth's radius is not a direct part of the human experience.

A primal unit is an anthropic unit that is in some sense the most directly related to human experience. A unit of this type is normally a reference point that cuts across all human cultures with little variation. Of all the distinctions I will draw here, this one is the least precise. Regardless, I feel it is an important goal to find the primal unit when designing anthropic units. A perfect example of a primal unit is human body temperature, for things are classified as "cold" and "hot" in reference to it. A non-example would be the boiling point of water (or in the case of centigrade, some fraction of it, but see 'simple' below).

A unit that is ratio produces a meaningful result when two values in that unit can be directly and meaningfully divided. An example of a ratio unit is the Kelvin. A non-example is Celsius.

A simple unit lacks arbitrary complexity such as named subdivisions, named supersets, extra ratios between subdivisions, and various caveats. By this I do not mean something like the SI prefixes, which do not belong directly to any one unit. Joules are a simple unit, whereas centigrade, which introduces a hundred gradations needlessly, is not.

Taking these metrics in hand, any unit can be directly scored and compared to those measuring the same dimension. While not perfect, this score provides a good qualitative comparison of the various units.

Lets look at a few units. Sometimes I propose a new unit. I have not presumed to name these and perhaps some already exist and I am merely ignorant of them. These I give shorthand names. For example, artime would be an instance of one possible anthropic ratio time. The others should follow in a similar and hopefully obvious vein.

natural anthropic primal ratio simple score notes
foot 0 0 0 1 0 1 non-simple subdivision inch
meter 0 0 0 1 1 2 non-simple usage cm
nrlength 1 0 0 1 1 3
arlength 0 1 1 1 1 4 average human height
fareheit 0 0 0 0 1 1
celcius 0 1 0 0 1 2
kelvin 0 1 0 1 1 3
nrtemp 1 0 0 1 1 3 absolute hot, absolute zero
artemp 0 1 1 1 1 4 body temp, absolute zero

Wednesday, February 9, 2011

Reflecting on Programming Pratices

While reading the Extreme Programming booklet, I have been doing a lot of thinking about my internships. I feel that it has given me some good perspective on the things that didn't go as smoothly as they could have. I recognize that I have done some things wrongly, and my management has done things wrongly, and some times we both did the same thing wrongly. I had written more but as a professional this is all I want to say publicly. The important thing is that in the future, I will be able to face similar challenges with greater ease and professionalism.

I've been applying the XP practices to my operating systems project and they have been helpful. One thing I don't like is that 8 hours of pair programming is much more intense than 8 hours of cowboy programming. We are bad at taking frequent breaks, as advised. It's harder to do because the Linux lab has been moved in the bowels of the experimental physics dungeon.

Tuesday, February 1, 2011

Random obstacles to academic performance

Well I missed another quiz in addition to those I missed due to registration problems after they dropped all my classes because of a $16 testing fee. I was calling the police while this particular quiz was being given. I'll just post my follow-up email they had me write to the maintenance department:
To whom it may concern,
Yesterday around 1:00 PM, I witnessed one of UT's white maintenance trucks numbered 166 push a pedestrian out of the way aggressively. Instead of letting a pedestrian cross behind the truck, the operator accelerated in reverse, turning to chase the pedestrian. The pedestrian, a young man, had to run and brace himself against the tailgate of the truck with his arms to avoid getting pulled under the wheels. The truck chased him perhaps 15 feet. I phoned the police who told me to contact UT directly since it was not a criminal matter. I do not understand how intentionally running into pedestrians is not a criminal matter. From where I stood I could see what appeared to be a male in the passenger side. I sincerely hope that this incident is not allowed to pass without something being done to remedy this dangerous situation.
Best regards,
Craig Pemberton
Aside from this cursory email nothing has really happened:
Mr. Pemberton--
Thank you for bringing this matter to our attention. I am copying this email to our Associate Vice President for Campus Safety and Security, Bob Harkins, for review.
Once again, thank you for bringing this matter to our attention.
Julien Carter
Sent from my iPhone
I hope the driver gets his driver's license revoked. The victim just walked away in a hurry. I don't think he knew what to do. He was probably also worried about being late for class.

So in non-exceptional news, things seem to be going well. The project hasn't really seemed to get any momentum going. There are loose ends everywhere. I'm sure I'll make it on time. The lectures are about exceptions which are nice and all but don't seem relevant unless Dr. Downing is working up to giving us a project that uses them heavily. Personally the exception style never occurs to me while I am writing my own code. Of the intern-ships I have worked at, none of them were very exception-friendly. Dr. Shmatikov referred to exceptions as "structured gotos" which is a nicely clinical view of the matter.

In Dr. Emerson's class my girlfriend sat in with me because we were going to drive home afterward. Emerson was going over CTL and saying a lot of things like "P holds infinitely often everywhere" and "in all possible futures, eventually P will always hold". So she writes me a note about holding your pee infinitely. I could barely hold it together I almost broke out laughing in front of a Turing award winner in a class of about 15 people! I felt so embarrassed. Now if she wants to wait for a ride she will wait outside the classroom! She agrees and so on Tuesdays and Thursdays when we drive home together in the evening she will do something else and be less bored and I will be able to concentrate on the lecture fully.