Sunday, January 22, 2006

Optimizing Grassa

Grassa now works. We put it together in record time. At the begining of the week, it took 110 seconds to score a small game, and 80 minutes to score a large game (one that covered the whole field). I've been optimizing the code using Shark (it's real name). Shark is the most amazing program I've ever run. It's a profiler. It samples the program counter during program execution and talies how much time you spend in each function. When it's sampled for 30 seconds, it creates a heirarchical display of what functions dominate the running time. You can look at the assembly, and it'll give you Mac-specific suggestions on how to re-write your code and whatnot...

The assembly suggestions aren't nearly as useful as the structured heirarchy of function calls. The profiler behaves exactly as a profiler should. I can't imagine anything better.

I've got Grassa scoring the small game test case in 17 seconds now, and the large game in 17 1/2 minutes. This scoring function hasn't been tuned yet, but we know it models scores better than previous scoring methods and that ultimately, it will be part of Croquetta's backbone. I remain totally psyched.

Friday, January 20, 2006

Message for TJ

Pants was telling me about how she'd recently caught up with TJ's blog and was shocked (shocked!) at how much scatalogical humor TJ relied upon.

She wanted me to relay: TJ is a poopy pants.

I'm not making this up.

Flawed

A few years ago a friend of mine told me that my name was an anagram for:

An ear, very flawed.

I post this at the risk of exposing my identity.

Wednesday, January 18, 2006

Orals

I passed my orals yesterday. I'm so glad it's over. I don't know really what to say about the experience. I had trouble falling asleep last night; I kept reliving the exam. I'll try to post some of the specifics soon.

Sunday, January 15, 2006

Lame list

Foster's was crazy packed this afternoon. I met Pants there around 1 and we stayed for a couple of hours. We talked about whether or not hollow objects were stronger than solid objects. She first asserted "Hollow objects are stronger than solid objects" which raised my eyebrows so she quickly qualified it with "for their weight." This is probably true, I'm not sure, but I'll believe it. But Pants didn't stop there. She pulled out the trump card for all scientific debates: she invoked Mr. Wizard. "That's old school Mr. Wizard right there." End of argument. Case closed. Whabam bizzach, shut that up!

Except I remembered that epsiode of Mr. Wizard. He had a kid come on and they watched a metal dowel bend under successively heavier weights. He had two dowels of the same diameter, one hollow one and one solid. The hollow one bent more under the strain. The child was suprised, I guess because "hollow" is such a cool word and why wouldn't an object described by a cool adjective be better than the object without that adjective?

I recounted that episode to her, admitting that the two bars were of unequal weight. She relented: in fact, she didn't remember whether or not there was a Mr. Wizard episode about hollow objects.

We reminisced about TV science and I was reminded about how Bill Nye used to be part of that Seattle-based sketch commedy show that was on Commedy Central back in the early 90's. I couldn't remember its name. Google helped me out: Almost Live!

I loved that show.

Friday, January 13, 2006

Towed

They towed my car from out in front of Open Eye today. I spent all morning there, left around noon, and Stromk was there when they were hooking my car up to the tow truck. He asked them if it was necessary. They beat him up and told him to pass the message on to me that I should burn in hell.

Thursday, January 12, 2006

crash

The hard drive on my Mac crashed this morning. I have no idea if the department was backing it up, which makes me think they weren't. I'm backing up my laptop onto Stromk's Mac right now. My laptop's CD-RW isn't writing any more.

I kept my CVS repository on my Mac. I committed the Grassa revisions I was working on yesterday to the remote SVN repository. That work isn't lost.

But it looks like I lost the high scores for Croquetta.

Tuesday, January 10, 2006

One week

One week until I take my Orals. Any capitalized test should be feared. I'm gonna gather all the papers I listed and sit down with them for the next week -- I'd rather be writing and I'd much rather be doing research.

Monday, January 09, 2006

Grassa

So, I've been working on this new way of scoring games in Croquetta. Let's call this scoring function "Grassa." Well, its a complicated scoring function and I'm working on it with another guy. Let's call him Dale. Dale and I only started working on the code a few weeks ago, but it fits nicely into a framework I've been developing for a while. The point of the framework is to make it easy to extend, that is, it should be easy to add new scoring functions.

Well, I finished my section of the code this weekend: it's compiling and when I stub out the code Dale's responsible for, it links.

So, I have an ideal example of how the framework actually did make it easier to extend Croquetta. My committee will love it.

I'm so psyched.

Thursday, January 05, 2006

Crazy Bug

I went to Coleman's lab (he's an avid camper) for 6 hours yesterday to see if I couldn't find a bug in Croquetta. I've been working on this new section of code, and can't tell if it's working properly. What I thought I'd observed was that the player's score was worse by about 5 points when you run my new code instead of the old code.

The score wasn't being added up wrong. It looked like Croquetta was finding a worse score. But when I looked at the alternate scores that were available, there weren't any that were better. It was getting as good a score as it could find and that score was correct. But that score was "wrong" by 5 points compared to the old score.

I was going nuts.

Now it's apparent that there was no difference in the old and new score. I'm just crazy. So I guess its working correctly.