Wednesday, January 30, 2008


Haulin' Ass, Gettin' PaidIf you're around Pittsburgh this weekend you should definitely go check out the Mike Judge movie, Idiocracy showing at CMU. It's got more than its share of dumb moments, but I think that on the whole it's a pretty funny movie. Some of the jokes are even somewhat subtle, like that in the year 2500 everyone wears Crocks.

Also, saw Atonement last night, I agree with Patrick that it's a great movie. The two actresses that play Briney, both as a little girl and then as a girl in her late teens, are wonderful, and my favorite part of the movie. Unlike Patrick, however, I did not like There Will Be Blood, even though I fully expected too... I felt that it only really had two real characters (the son was left undeveloped) and neither of them was at all worthy of my sympathy. Does that necessarily make for a bad movie? No, and I would certainly not call this a bad movie, however at the end of it all I just wasn't interested...

Monday, January 28, 2008


List of Concurrent Java Programs:
Just wanted to let you all know officially that I have started a page on my site where I list a bunch of concurrent programs written in Java. The idea is that they may be useful for my own research, and so far it has been hard finding large lists of concurrent programs so that I could pick out one actually relevant for my work. Hopefully this can help change that problem, except that there are only three entries so far... Dig the gnar-gnar CSS while you're at it!

While I'm on the subject of Java concurrency, something came up twice on Friday that I wanted to bring up again; wait/notify. As you may know, Java provides monitors as its built-in all-purpose synchronization primitive. These monitors provide both locking, for mutual exclusion, and wait/notify, for thread synchronization. Other than busy-waiting and thread join, the only means by which one can cause a thread to hold in Java is to call wait and then wait around for another thread to call notify on that same object. Both a research colleague and a paper written by my advisor claimed that wait/notify are rarely used in Java programs. While this certainly may be true, does this imply that most concurrent code written in Java only needs mutual exclusion primitives? What about things like thread barriers, and other thread-ordering devices? Don't people need monitors for those sorts of things?

Performance Tension:
One strange sensation I encountered occurred while attempting to write a concurrent dataflow analysis for the Crystal analysis framework, a Java analysis framework written in Java. There was a point where I found an obvious performance problem, but didn't want to fix it, deciding instead to wait until the program itself actually showed poor performance. This action itself caused me some pause. This action was undoubtedly caused by the phrase that has been ingrained in my subconscious, "premature optimization is the root of all evil." But of course I was busy implementing a concurrent library class whose whole point (ostensibly) was to increase analysis performance. It at least made me realize that there is some tension between what we are always taught about optimization, that it is a discussion best saved until the end of the day, and concurrency, which often permeates the architecture of the program itself. In fact the changes necessitated some global restructuring of the program. "Interesting," is all I could really conclude.

Weekend Out

Last night joined George-y boy and the Pittsburgh UVA Alumni association for some UVA-Georgia Tech basketball action. It was a small group, but heavy on fun.

Brianne and I also cooked dinner for Maja and Kevin on Saturday night. We had lasagna for the main course and I must say it was pretty delicious. Also, if you are drinking red wine, you probably ought to be drinking Malbec. It is deliciously dry, thick, and never too expensive.

Found out that my advisor meeting was moved to today, and now am scrambling to do some work (and, of course, posting to my blog). But I think I have something interesting to work with, so maybe it wont be so bad.

Last night I caught the buy bug, and decided that really my laptop was not cutting it anymore for anything other than Powerpoint presentations. My new plan is to buy a crappy desktop to work on at home, and keep using my laptop but in a more limited role.

Wednesday, January 23, 2008

It's Raining Blood! Halleluja!


I've been playing Guitar Hero 3 a lot lately on my roommate's Wii. You might say that I'm obsessed with it.

Unfortunately I've encountered a wall of sorts, in the form of a horrible song named, "Raining Blood" by Slayer. It's so bad it hurts my brain, and on HARD I can't beat it. Everything is cool until about 45 seconds into the song, when a series of horrible noises emanates arrhythmically from my TV's speaker. It's ridiculously fast, and even after an hour of practice, I still can't figure out the rhythm. Worse, my hand is starting to hurt so badly from playing this game that during the day typing hurts my hands...

I'm not alone. I've found legions of friends online who can't beat it either. Some people have suggested using a rolled up sock! Well, then there's this guy.

Mode 7 Activated

By now you probably already know that my friend and bandmate (Guitar Hero and regular) Tom7 successfully defended his PhD. It wasn't much of a defense, by which I mean there was very little attacking going on, but it was a very good talk. He explained ML5, which could called a web programming language, even though it is so much more. I recommend you check out the talk even if you don't know what it means at least to see the pretty colors. Demos too!

Thursday, January 17, 2008


Back at the end of the year when I was writing a paper for ECOOP, I got an earlier paper rejected from a ICSE. I didn't read the comments at the time because I didn't want to bum myself out while working on the ECOOP paper. As it turns out, I'm glad I didn't. I finally got around to reading the comments today, and they were pretty brutal. I guess they liked the core idea, but a lot of other things were criticized. The whole thing is made all the worse because I am no longer working on this topic. My advisor wants me to resubmit, and I just kind of want to be done with the whole thing...

Tuesday, January 15, 2008

Lake Tahoe, CA-A-OK

Originally uploaded by DixiePistols.
This weekend I went to my friends Greg and Melissa's wedding, both friends from college. I am really happy for them!

The wedding was great, and so was hanging out at the resort. We were actually staying in Squaw Valley, where the Olympics were back in the 60s. I went skiiing two days and got to spend a lot of time with my friends Greg, Jeff, and Shannon. Note that the Greg in these pictures is a different one than the one who got married! Cutest part? After the reception the bride and groom took a lovers' ride on a dog sled under the stars!

Unfortunately, I don't have any pictures from the wedding, nor any pictures of the bride and groom!

Wednesday, January 9, 2008


Sometimes when I am wearing my headphones, and I take off my jacket at the same time, my headphones shock my ears. It is a strange and painful experience that is made all the more odd because the sparks also add some noise into the music I am listening too...


This weekend I am going to Tahoe for a wedding! My friend Mel from school is getting married, and I am totally excited for her. It's funny, but I didn't realize the wedding was this weekend until Monday. I bought the ticket and made the arrangements so long ago, that it kind of slipped my mind. I knew it was coming up soon, just not this soon.

Anyway, I'm also spending a lot of time being a Guitar Hero, with Guitar Hero 3 for the Wii. Check out this rather rad song by the band Priestess. It's from the game.

Tuesday, January 8, 2008


My sister got a new pug, Rufus, from her fiancé. It's so cute, as these pictures will attest. I had a great time over the break taking care of and playing with him. He's just like a little kitty cat, except that he needs constant attention.