Friday, December 26, 2008
Action Jackson in Action
You be the judge. Does it match this?
Wednesday, December 24, 2008
Hornets Lakers
Last night I went with my parents to the New Orleans Arena to watch the Hornets play those jerks from L.A., the Lakers. Going to sporting events with my family is one of my favorite things to do when home! Unfortunately, the Hornets lost. In fact, the game was a little painful to watch because, even though the Hornets are pretty good, they played a bad game last night and were never seriously contending. It was pretty frustrating to watch the Hornets run no offense whatsoever. When you run no offense and you shooting is cold, as was the Hornets' last night, it's pretty hard to make a game out of it.
On the bright side (?), last night did solidify my dislike of Kobe Bryant! I still think he's an annoying primadona who gets every single call from the NBA refs and doesn't try very hard unless he thinks he's going to score.
Something else amazing happened at the game. As you may know, at most NBA games they play a lot of annoying, distracting music during play. Such was the case last night when the folks at the stadium began to play that, "Clap Your Hands" song that used to be in the McDonalds comercial. Well, the first time they played it, I looked up at the jumbo-tron to see an amazing site: Tom 7's font, "Action Jackson" and the words "Clap Your Hands." Here's a fascimile:
Needless to say, I was in shock. I am about 95% sure it was his font, so I texted him and he knew nothing about it. I'm going again this Friday and I'm going to try to sneak in a camera so I can take a picture. Wild!
Sunday, December 21, 2008
Vacate
I'm in New Orleans for the holidays! I'll be back to Hittsburgh right before New Year's, and looking for something to do, but for now, I am taking it super, super easy. TV? Yes. Food? Yes. Book? Possibly.
In Hillary Clinton news, I can't really understand why a U.S. Senator would want to be the Secretary of State. It just doesn't seem like much of an upgrade to me. I mean being a senator in this country is more or less a life-long position, unless you really screw it up. It seems unlikely now, but it's always possible that she could be looking for a new job in four years, or even less. Moreover, a senator has actual, constitutionally-granted legal powers. Hmm...
In more political news, Good Ole' Louisiana became the first state to elect a Vietnamese-American to congress! Take that, so-called progressive states.
Update:
Okay, so I know I'm an idiot. The link I posted lead to William Jefferson, who is a representative, not a senator. For examples of senators who "really screwed it up," how about this guy? or perhaps you perfer him?
Wednesday, December 17, 2008
News x2
Today I Scheduled My Proposal!
Today I scheduled my thesis proposal. It will be early next semester, January 27th at 9am. It will be at 9am. I am so sorry for the early time, but my external member is in India which is 10:30 hours ahead during the winter. It should be a rad time. Full details are forthcoming, since I don't have a location yet, but other than that, all of my committee members have committed to a time, and I have written my proposal document. Sweet!
Today I Signed a Lease!
I am moving to Bloomfield! My apartment is basically here. I am very excited to be moving to Bloomfield, where I can still get to school via bus or bike, but where I have a little more variety in terms of restaurants and bars. I looked around for a while and didn't find much, but the last apartment I looked at was very nice. It's also very reasonably priced and has parking. Hard to lose. Stay tuned for the obligatory "new apartment" pictures and the housewarming party. I can pretty much move in today, although I'm waiting until I get back from New Orleans.
Tuesday, December 16, 2008
Sick Riduculous Presents: Gig Ridiculous
Tuesday January 13th, 2009
8pm-ish
The Rex Theatre (1602 E Carson)
We are participating in a "Local Artist Showcase," which means basically that it's a Tuesday night and you don't have to pay any money to get in. We also will most likely play two separate sets, which should be fun too. If you need more details, let me know!
Monday, December 15, 2008
Reading about OO Verification
The thing is, this was a very easy to read paper that covers a lot of things about Ownership and OO Verification that I had sort of picked up along the way, but had never seen described in a comprehensive way. I guess that's partially due to the fact that it's a journal article, although frankly kind of a crazy journal. This paper uses Universe types, an extension of Ownership types, to prove class invariants. It's very similar to the Boogie methodology, or any of the papers on JML and verification, but this one actually takes the time to explain "classical" OO verification, which motivates the use of ownership.
I should have definitely read this a while ago considering this is basically what my own work is based on, but I guess I had been avoiding Ownership types for a while.
If you are at CMU and you want to check it out, our library has electronic access: here.
Wednesday, December 10, 2008
Friday, December 5, 2008
Adventures in Apartment Hunting
One thing I've noticed is that every single apartment is filled with "professionals," or at least that's what the landlord always says. There sure are a lot of professionals in Pittsburgh. Of course I prefer degenerates...
Today I actually saw a great apartment. It was in Friendship. It was huge, and not too expensive. I got really excited. Then, just by chance, I saw the name of the management company on a sign before I left. I looked them up on apartmentreviews.com. Good idea. The reviews are horrific. The phrases "slum lord" and "lawyer" are used far too often. You should really take a look at all of them yourself, but I found this phrase to be both representative and humorous:
"I literally cry at least once a month because of how awful it is to live under Lobos."
Wow.
Monday, November 24, 2008
The Atomic Nugget Design Pattern: Part II
This interface is the type of first-class functions that take one argument and return one argument. The next thing we'll need is an interface that signifies the fact that my provider class is an atomic nugget, which will allow client's code to be run atomically. As I previously mentioned, and like the lock/unlock solution, this requires some forsight from the developer.
In this example, the client creates an anonymous inner class, the "first-class function," which consists of an isEmpty check and a call to pop. This new object is then passed as an argument to the atomic method of the newly created stack. The "lambda" returns the dequed item to the outer context. This is a pretty straightforward example. Here's something a little more interesting. There is a classic problem in concurrency relating to bank accounts. How can I, as a client, using two thread-shared bank accounts withdraw money from one and deposit the money to the other all in one atomic operation? Deadlock is an important concern in this sort of example. Well, we can solve it using AtomicNugget2, which takes two elements of the same type. Internally we are free to synchronize on both object according to our deadlock prevention scheme (in this example, I use the hash code as an ID to determine ordering of lock acquire). First, here is AtomicNugget2:
Pretty similar to AtomicNugget. Now, here is our bank account, which implements the interface:
Note how we reverse the order of the synchonized blocks depending on the hash ids of the bank accounts. However, we still pass the two bank accounts as arguments to the lambda in the same order. This is crucial for clients who need to know, for example, which is the deposit account and which is the withdrawal account. Finally, here's a client:
The atomic nugget has some problems. Notably, the provider has to be aware that the client's calls will almost certainly be reentrant. If you are using semaphores or some kind of non-reentrant locks, this could be a problem. There are others. Nonetheless, I think in many cases this is a good way to go, and if you are already programming Java in a functional style (a good, if verbose way of doing things) it will seem very natual.
The Atomic Nugget Design Pattern: Part I
In Java, there are simple ways to protect the integrity of your objects with respect to multi-threading if you are the class implementer; you can make all of your public methods synchronized. This will ensure that access from multiple threads to an object instance are effectively serialized. (Of course, it's not always as simple as that, but to a first approximation, this strategy works.) However, what if you are implementing a class that depends on other thread-shared classes? For example, the following worker thread references a thread-shared work queue that is internally synchronized.
class WorkerThread {
private Deque workQueue = // ...
public void run() { while(true) { if( !this.workQueue.isEmpty() ) doWork( this.workQueue.pop() ) } }
}
Please ignore the fact that this worker class has many problems. I'm trying to keep the examples short. There is one problem I would like you to focus on, however. The problem is the race condition. If another thread removes the last item from the work queue in between the time this thread calls isEmpty, and the time it calls pop, an exception will be thrown on the call to pop. This is a symptom of a more general problem. The designer of the queue has delineated certain critical sections when they wrote the methods of the queue class. However, as a client, I want to enlarge those critical sections, but in order to do so, I need access to the locks or synchronization primitives that are used internally to the queue. How do people solve this problem now?
- I could try to make this work by synchronizing on workQueue. However, this is very brittle and violates encapsulation. It requires me to look inside the implementation of the work queue, and ensure that the methods I want to call are synchronized on the work queue object itself, and not some other private member object. Also, if the implementation of the work queue ever changes, to use a different synchronization strategy, my code will be broken.
- The implementer can provide "lock" and "unlock" methods. This requires class implementers to think ahead to imagine how their classes might be used in the future. (My solution will require this too, as you will see.) But it also painfully requires clients to remember to call the unlock method, which in the simple case might not be to much additional work, but in reality requires clients to use a "finally" block, so that exceptions will not cause locks to be held on to indefinitely. And in general, it's just not nice to have to put your synchronization into the hands of your client.
Saturday, November 22, 2008
TRANSACT Submission Submitted
Last night we finally submitted the paper that I have been spending all my time on for the past 3 weeks. We submitted to TRANSACT 2009, a workshop on transactional memory. Our paper was on an optimization of STM using the static aliasing annotations that we have been working on in our group.
Honestly, the process was pretty painful. We had to do benchmarks, which is not something I am used to, and we had a couple fall through at the very last moment, because we could not explain why we were seeing the results we were seeing. I now have a lot more repsect for people who work in systems.
Anyway, tonight I am rewarding myself by going to the Girl Talk concert. I've never seen him live, but his last two albums are in super heavy rotation at home and at work. (Seriously, check the stats.) Also, Grand Buffet is opening, and they are sweet.
Monday, November 17, 2008
Vargo V. Vargomaxx
Generalized Super Mario Bros. is NP-Complete
This was a presentation from SIGBOVIK 2007, and I thought it was hilarious at the time, but never remembered to post it. (Also it wasn't online.) It's kind of nerdy, but hilarious.
Monday, November 3, 2008
Paper Poster
"Verifying Correct Usage of Atomic Blocks and Typestate"
Friday, October 24, 2008
Return to the 'Burgh, OOPSLA
But of course I was really there for the conference. I gave a talk at the doctoral symposium, where I present a mini proposal talk to a bunch of researchers who are not my advisor. I got some really good feedback which I even incorporated into my research talk. That was on Wednesday. I was pretty nervous leading up to my real talk, but I practiced a lot (a lot!) of times. When it came time to give it, I wasn't really nervous at all. I even got some questions that weren't too hard to answer, and a bunch of people came up to tell me that they liked it. That was good! I put my slides up on my presentations page. The full paper should be up on the ACM portal soon, but isn't yet.
Finally, there were a ton of people from my research group there, along with George who flew in from CO. It was great to be there with everyone and it kind of felt like our research group was taking over, in a way. Three people in my group won awards at the conference! Congratulations dudes! Now I'm back home, and trying to figure out what to do about this whole research thing... Gotta get cracking.
Return to the 'Burgh, Wedding
Last Thursday I went to New Orleans for my sister's wedding. It was really an amazing time and an amazing wedding. There were a lot of friends and family from out of town, and I did do a lot of meeting/greeting while I was there. But mostly it was just fun. The rehearsal dinner was great. It was at Antoine's, so the food was fantastic, and there were tons of people there, mostly his family from Tennessee. (My extended family is actually pretty small.) It was so big, it felt like it could have been the wedding reception!
The next day, the wedding was really nice. The church was packed. The wedding party was big. I think there were about 15 groomsmen and 15 bridemaids. There was a little SNAFU where someone in a wheelchair got stuck on the access lift at the church, and we started a bit late, but other than that, everything went off without a hitch. The reception was at the art museum, and it was really nice to be able to sit down in the gallery right next to the artwork. The band was also very cool, and the night ended with an official "second-line" dance party.
All and all, definitely the way to go. Congratulations to my sister and Chip! I am so happy for them!
Wednesday, October 15, 2008
Business Jerk
Monday, October 13, 2008
WPTranslator
Right now, it's pretty basic, and it only outputs to HTML, but I've got a Google Code site set up, and a Java Web Start application, so you can actually run it all pretty easily, assuming you have a JRE installed!
Doing all this was not extremely easy, because to have a webstart application that can read and write files, it has to be signed. Here is a pretty good tutorial explaining how to do it.
Then, for some reason, Google Code does not serve .jnlp files (Java webstart files) with the proper MIME type. Here is a post explaining how you can fix it through svn. (Scroll down to the bottom.)
All this is necessary to make a Java program that can be run by my dad. He's okay with computers, but he's no Bill Jobs.
The Googs: The Phone
Wednesday, October 8, 2008
Verified Program: Thread Shared and Back
I recently was able to mostly verify the implementation of a program that creates an object, shares the object between two threads, and then permanently reacquires thread-local permission to the object. This is sort of a litmus test for many concurrent analyses, and I was quite happy at how naturally it fit into our analysis framework. You can take a look at the verified code here. Other verified programs I tend to post here.
Sports Talk with Nels & Nels in the Morning
- Is there anything more pointless than pre-season NBA basketball? Please. The NBA regular season is already quaisi pointless and at least prolonged, given that it lasts forever and just about half of the NBA teams get into the post-season. Is there really a demand for this?
- Sports "journalists," can you please stop calling the Dallas Cowboys, "America's Team." I've lived in three states and I still don't know a single Cowboy's fan. And my girlfriend is from Dallas!
- A friend of a friend just got picked up by the New Orleans Saints! He is a defensive end, and his name is Jeff Charleston.
- This weekend I won my first fantasy football game of the season.
Tuesday, October 7, 2008
While the Tom is Away, the Nels Will Play
Highlights include, "Birthday Control," and "Unfairbanks," which is about the sad economic state in which we find our country and my friend George Fairbanks leaving Pittsburgh. "Sick Day," isn't really custom party music, and in fact is just a demo.
Saturday, October 4, 2008
Room mates? Apartments for Rent?
Roommates! Are you or cool people you know currently looking for a place to live? Preferably starting January 1, but many arrangements could be made. My landlord/friend Chris is extremely flexible, but he is moving so he is looking to replace himself and one of our outgoing roommates.
- or -
An Apartment! If that whole above thing doesn't work out, I will be looking for an apartment starting January 1. I would really love to keep living in Shadyside, so I would be looking for a place to live, and I would certainly appreciate living with you or your cool friends.
Let me know here or via email, and I can give you the full details about either the apartment or what I am looking for in an apartment!
Tuesday, September 30, 2008
Music
Nik and the Central Plains: I know Nik from the open mic nights. His music is great. It's like super weird folk music, but is very catchy.
Aloud: Aloud was your more straightforwad modern rock band, but they were pretty good. The were from Boston, MA, and had a good "wall of sound" thing going.
Monday, September 29, 2008
No Phone I Just Want to be Alone
I have used all my cellular telephone minutes for the month of September. I will be tearfully ignoring your calls until October 2nd! I will, however, happily accept text messages!
Saturday, September 27, 2008
SR&tSR Gig Log #3
With any luck, we'll record a few of the new ones tomorrow, so you can hear that.
The party itself was pretty rad too!
Thursday, September 25, 2008
Stop the XML Insanity!
Beam Team!
Sunday, September 21, 2008
Urban Hike Scavenger Hunt 2008: Downtown!
We are in the process of planning our annual scavenger hunt, which typically rounds our hike season. Please mark your calendars for Friday, October 3rd. The scavenger hunt will run 6-8 pm, with our awards ceremony following from 8 till around 9. We will start at a yet-to-be-determined spot in Market Square downtown. Start assembling your team (3-6 people) and we'll fill you in on more details soon!
Saturday, September 20, 2008
Flask Drive
thefacebooktg
A group of us decided that the best possible thing you can do with a Zune is to use its radio function to tune in an iPod connected to a radio adapter. Yes, I know that making fun of the Zune is passe, but the mental image of a Zune being used to tune in an iPod was too much for me to ignore.
In other news, I am really getting upset with the American Auto Industry. Foreign car companies make most of their cars here already, hiring American workers! Why are we beholden to these companies? Why do both major candidates support giving them more money?
Saturday, September 13, 2008
Karaoke Duperstar
- Just Can't Get Enough, Depeche Mode. A great song, it's pretty easy to sing, and fairly recognizable without being over-done. I think people appreciated it. It is a little long though. Towards the end, you are really saying, "Just Can't Get Enough" a lot.
- Shout, The Isley Bros. This was actually Chris' idea, and had I known what he has selected, I would not have gone up there with him (he pulled me up at the last second). That being said, it was a real crowd pleaser, and people were singing and dancing along. Great success!
Thursday, September 11, 2008
Car Towing
Yes. My car was towed. Not only did I have to pay the tow pound $100+, I had to pay the city police just about as much. You see I was towed, but I was also cited! Not the good kind of citation, as in publish or perish, but rather the bad kind. So why was I towed? Well the answer to that question was sort of a mystery to me. The technical reason was known: variance posted. But what does that mean?
Well on Tuesday, I tried to find out. First I called the Pittsburgh Parking Authority. Mistake. As it turns out, two both the Pittsburgh Police and the Pittsburgh Parking Authority have the power to issue parking tickets in this city. If you call one, asking about problems for the other, they will yell at you. How can you tell? Just remember this helpful little rhyme: "Ticket is Pink? PPA's the link! Ticket is Yellow? Tell a policeman, fellow!"
So I called the Municipal Parking Court. Not only did they have no idea which variance was posted, they didn't know who I should call. They told me to call 311, Mayor Luke Ravenstahl's Response Line. That was better. They told me to call the Zone 4 Pittsburgh Police Non-Emergency line. There, a slightly angry man told me that there was a parking variance for three spots on Howe street so that someone could move. In other words, they had the exclusive right to park in those spaces that day. Okay, I can deal with that. (And indeed I did; I ended up paying the fine.)
But I did want to know how many days in advance they were obligated to post the sign! I saw nothing on Monday night, and I was towed on Thursday. Turns out, the Pittsburgh City Code says nothing about the concept of parking variances. Neither does any other official Pittsburgh city web site. Boo this man! If anyone can find out the real skinny, please, let me know!
Saturday, September 6, 2008
My Car Was Towed!
Friday, September 5, 2008
Street Walkin'
Sweet!
Friday, August 29, 2008
NYC Plus Me Makes Three
However, I just learned that my sister is evacuating New Orleans, because of Gustav, the may-or-may-not-hit-New-Orleans hurricaine. It's still a few days away and has not yet warranted a mandatory evacuation, but it's still a bummer. Hopefully things will work out for my peeps down south.
Friday, August 22, 2008
Last Day at Sun
To celebrate, I went with some other Sun employees, both non-Americans, to a shooting range, where we discharged some handguns. Being non-Americans, they were both quite excited about this prospect, as it seemed to them, very American. While I have used a handgun once before, it definitely, uh, takes some getting used to. It's loud, and I was a little nervous at first. Oh and the last time I used a gun, I had to get stitches...
Going back to school Monday! All in all, a great summer.
Monday, August 18, 2008
Books!
- The Yiddish Policemen's Union: Loved it! Would recommend it to just about anyone!
- Sex, Drugs and Cocoa Puffs: Eh... It was okay, and definitely funny in parts, but I would only seriously recommend it to the most capital of the Generation X-ers.
Sunday, August 17, 2008
More Fever: Malaria Edition
It's fun to watch Nicole Davis: I used to cheer for her in college!
It's fun to watch Logan Tom: I used to boo her relentlessly in college!
Olympic Fever
Handball
Beach Volleyball
Marathon
Weight-Lifting
Badminton and
Basketball
Fun!
Friday, August 15, 2008
Lance Armstrong: So Thirsty!
Well it appears that Mr. Armstrong in the month of June used over 220,000 gallons of water! For comparison, the average residence here uses about 8,000 gallons of water. What could Lance possibly be doing with all that water? I'm sure it's something boring like watering his lawn every day, but I prefer to imagine the 7-time Tour de France winner walking around his lavish estate with every single faucet turned on for no reason at all. He's probably thinking to himself, "first Sheryl Crow, and now more water than I know what to do with?! This is living!"
Thursday, August 14, 2008
Java You Weirdo!
public class WeirdAssign {
static int foo() {
int a = a = 1; //Strange line
return a;
}
public static void main(String[] args) {
System.out.println("a is: " + foo());
}
}
The output of this test is, "A is: 1".
Monday, August 4, 2008
Paper Done!
Wednesday, July 23, 2008
ISSTA
I have my first ever paper in the ACM Digital Library. It's right here. I have used this resource so much, it feels nice to be one of the people in it.
I presented my work at the doctoral symposium, and the talk went pretty well. I got some good feedback, and didn't make any major mistakes. I didn't present the work described in the above paper, however. Aditya, my former mentor in India, presented it, and I think he did a good job. Finally, there is some poster session today, so I'll have to stand by my ugly poster and try and grab anyone around, forcing them to listen to my research ideas. Should be grand!
Monday, July 21, 2008
Sunday, July 20, 2008
Seattopolis
This is only my second time in Seattle, but this time is already way better. The weather is amazing, and I am in a swank hotel downtown (also where the conference is).
I know everyone I know has been to Seattle, so what should I do? I've done some obvious stuff like walking the boardwalk, pike market, space needle and the experience music project.
What do you think? Seattle Mariners? Something else?
Friday, July 18, 2008
Obligatory Birthday Post!
For my birthday I got a sweet breakout box for my computer which will allow me to record music on my computer. (I need a better mic though.) I also got a book of pictures from New Orleans in 1960. It looks like a cool place, and I recognize a bunch of the buildings, although many of them are now in bad shape.
Then, Sunday, I am going to Seattle for a conference where I am a co-author on a paper and will be participating in a doctoral symposium. Should be radical.
Saturday, July 5, 2008
So Hip!
You Got a Good Thing Going: II
Tonight we went to Big Al's, a new seafood place, and I stuffed my face with boiled shrimp. I used to be very lukewarm on boiled (as opposed to fried) shrimp, but it's making a huge comeback.
I'm also reading big-time, and these long weekends are great for that. Last weekend it was "No Country for Old Men," and "Do Androids Dream of Electric Sheep?" This weekend it's "Moneyball" and "The Right Stuff." Summer is the best.
You Got a Good Thing Going: I
I went to Pittsburgh last weekend, and did some radical stuff. I saw about as many friends as possible during the 48 hours I was there. I saw Wall-E. It is good. You should see it. Go early in the day, so you are surrounded by screaming kids, as we were. We also went to the Carnegie International Exhibit, "Life on Mars." They tell me this is a big deal in the world of contempo art, and it was in fact pretty rad. "Cave Man Man," while weird, is probably one of the most unique pieces of art I have ever seen. You owe it to yourself to check it out (http://blog.cmoa.org/CI08/2008/02/thomas-hirschhorn.php). Yeah, I don't know why but livejournal won't accept my links... so you'll have to copy and paste that stuff old school (or CTRL-C, CTRL-V for you power users).
In Austin I've been sort of working for two masters, doing my job at Sun during the day, but then school stuff at night. I am working on the camera-ready version of the OOPSLA paper, and I applied to the OOPSLA doctoral symposium on Wednesday. I have found that this isn't so bad, if I just do enough each night. I've found that the best way to do this is to set a timer (1 hour exactly!) and work on my school stuff until it goes off. Then I am free to read and watch "Lost" until bed time. It's a whirlwind life!
Monday, June 23, 2008
Status Report: 5 Weeks
The first part is the project: I have to say I'm really enjoying it so far. I'm not actually doing exactly what I thought I'd be doing, but that's not a big deal. You see Fortress doesn't actually have a type-checker, and well they kind of need one a lot. So while I sort of thought I was going to be working on, like, type-based optimizations of software transactional memory, I'm really going to be implementing the typechecker and type inference. Now things were started before we got here, so there's a chance we'll get to see it finished before I leave. And, as I've said before, the project is totally open-source, so you can see the code I write here (not that I'd recommend it) and follow my progress here.
Austin is good too, but it's not like being in Pittsburgh. Here's what I mean: You see, in Pittsburgh I know lots of people. Here I don't know many people. Most of the people at work, while very cool and very nice, have families and aren't necessarily interested in hanging out. When I've had people come to visit, I get a better feel for the cool stuff that is going on in Austin: great restaurants, bars and stuff to do outdoors, but a lot of those things are hard to take advantage of by yourself.
So far I've spent of lot of time sitting in my apartment, going to the gym and watching Lost episodes. (My aunt got me Netflix for the 3 months I am here, and I decided to go back to season 1 and see if I can understand this crazy show.)
Anyway, I'm going out tonight for a bit to meet some friends, so that should be rad. Oh, and I'll be back in Pittsburgh for next weekend just to say "hello." Holla at your boy.
Sunday, June 22, 2008
When We Left Earth
I'm watching "When We Left Earth" right now, about the history of NASA. It's a multipart series, and tonight is the last one. It's incredible, mostly because the pictures are so amazing. They did a lot of restoration of the old pictures and movies, and they look great. The part about Challenger makes me sad, but other than that I give it big thumbs up.
Sunday, June 15, 2008
Tubing!
We had to drive like an hour to New Braunfels where all this madness goes on. Then we went to this tube rental place where there were hundreds of people. We rented a tube for me, Greg and for a cooler which we also rented. We brought along some ice and a few adult beverages. Now, it might seem like tubing is a horrible idea because a.) about 100 degrees and really sunny, b.) the water is absolutely freezing and c.) there are thousands of people on the river, but it turns out that all of that is inconsequential! All the people really aren't so bad since you're just floating down, and, well I got sunburned a little but I think I put on enough sunscreen to avoid any major cancerous lesions. And the cold water? You mostly get used to it, although every now and then there's a little wave that gets your dry parts wet and is not really all that fun.
Verdict: Highly Recommended!
Sunday, June 8, 2008
Family Weekend
We went to some good restaurants:
- Fonda San Miguel
- TX Chilli Parlour
- Some Brazillian Restaurant
- Jaime's Mexican Restaurant
- Shady Grove
- TX State History Museum
- The State Capital
- Swimming at Barton Springs
- Canoing on Lake Austin
- Bar-hoping
Wednesday, June 4, 2008
Pnet Phlicks
- Himalaya: Good
- Crash: Not so good. I met some racists in LA, but everyone in this movie is humorously obsessed with race.
- Dewey Cox: Awesome! Why wasn't this movie bigger?
Sunday, June 1, 2008
Summer Books
Friday, May 30, 2008
McDonald's Proof
What is up with these commercials for McDonald's new Southern Style Chicken sandwich? They make it seem like they are out to change the world or something. It's an obvious attempt to copy Chick-Fil-A's delicious chicken sandwich which cannot be topped. The commercials are so humorously over the top that I think it's an Army commercial until they mention chicken.
Saw Indiana Jones last night at the Alamo Drafthouse. As far as I can tell everyone in Austin knows and loves the Alamo Drafthouse because everyone I have met here has told me about it. They serve full meals to your seat, and have a great selection of beer. It was unsurprisingly great! If the same thing existed in Los Angeles, the dinner would cost seventy dollars.
Wednesday, May 28, 2008
I'm Going Mobile!
I was actually wondering how they were going to transport it. Well it turns out they used one of those 8 car trucks that you usually see rolling down the highway with brand new Chevys. It was kind of funny to see my busted car up there with all these other nice and new-looking cars. Also, my car was all the way up at the front, so the guy had to spend like 10 minutes moving the different levels up and out of the way so that my car could be driven out. The whole thing was rocking back and forth from side to side which made me reconsider the part of the sidewalk I was standing on. Finally he drove it off, at which point, because it was facing backwards on the truck, I had to drive it the wrong way down the street for like 100 yards or something. Lol.
Monday, May 26, 2008
Life Update
This of course leads to a dream that can potentially run on until I wake up, and is very disturbing. Damn you Terminators.
Sunday, May 25, 2008
MA & SF
Also fun was today's trip to Six Flags. It's down in San Antonio, so I drove with two other interns for like an hour and a half to get there. It was absolutely ridiculously hot, but I've passed that stage in my life where I am too cool for sunscreen, so I think I basically made it out okay.
I'm still pretty funny at theme parks, even at 25. I am constantly walking excitedly in front of the rest of the group, leading us to the next ride. I feel the need to "get my money's worth," by riding as many rides as possible without much down time, but I am starting to realize how unnecessary that attitude is. Today without trying too hard, we rode 10 rides, and we were there from 11 to 7. That sounds okay right? I think I was basically just happy to be outside...
Monday, May 19, 2008
First Day!
Except for getting up really freaking early to rent a car, today was great. We had some teleconferences with the folks in Boston, and then there was a bunch of paperwork, but it was also pretty neat setting up my computer, installing Fortress and getting my new computer.
Tomorrow I'm going to Boston!
Saturday, May 17, 2008
Austin City Litmus
If you didn't know, I'm going to be working in Austin, TX this summer on Project Fortress. Fortress is a programming language designed to be a sort of successor to Fortran, but really it's more like a cool general purpose language that happens to be good for high performance computing applications. I'm going to be doing some optimizations (I think?) to help them get their compiler stuff up and off the ground. I'm working for Sun, and so far even though I haven't started working there yet, they've been extremely nice to me.
I am currently in my new corporate apartment. The downside is, it's not really all that close to downtown, but that's about it. Everything else is really nice. I'm close to where I'll be working. There's a nice kitchen, bedroom, TV and working space, so I really think it's been great of them.
Oh, one more nice thing about the project: Fortress is an open-source project, so presumably I'll actually be able to tell you a lot about what I'm doing on a day-to-day basis (at least, as much as is interesting). Moreover, I'll probably be encouraging you to download tools and other neat things I find out about.
Okay, more when I get to it! Today I'm kind of stuck in my apartment since I don't have my car yet, but tomorrow I'll be visiting some family, and Monday is the first day!
Friday, May 16, 2008
Last Minute Rock Announcement
Thursday, May 15, 2008
Austria Recap
Vienna is know for a couple neat things, like the Hapsburgs, Coffee, Cakes, and music. We spent a lot of time checking out palaces and museums in the city. Vienna is also known for an old-style Ferris Wheel, known as the Riesenrad which Kevin called, "the most romantic location in Europe," or something like that.
We also went to Salzburg for a day on Saturday. Salzburg is a little bit more touristy than Vienna, but smaller so the effect is more pronounced. Salzburg literally means "Salt Town," because there was a big salt mine there. Pretty rad huh? It was also the birthplace of Mozart.
Monday, May 12, 2008
Curious Non-Postings
I also had a paper accepted to a major conference, and that makes me super jazzed. The conference is called OOPSLA, The Conference on Object Oriented Programming Languages, Systems, and Applications. It will be in Nashville this fall. It was on my research work, but was done jointly with Kevin and Jonathan. I don't really have a copy up on the web yet, but I will put one up soon. Seriously. It was called, Verifying Correct Usage of Atomic Blocks with Typestate.
I've also finished reading a great book called A Nervous Splenor: Vienna 1888-1889. It's all about two amazing years in the history of Vienna, culminating in the suicide of Rudolph, the crown prince. It's history, but reads more like a novel.
Um, more to come... It's dinner time.
Friday, May 2, 2008
The Surprising Performance Implications of .iterator()
See I've been working on this implementation of Software Transactional Memory in Java, and the performance was pretty slow. Now I'm not really a run-time guy, so this fact normally wouldn't bother me, but it was slow enough that a static optimization that I developed was getting lost in the noise. So I busted out the old profiler to see what was slowing things down. I immediately discovered that our code was spending a lot of time iterating over sets, or at least that's how I first interpreted the results. And this made since to me. The run-time uses tons of sets; read sets, write sets, undo sets. And every time a transaction aborts or commits, we're iterating over lots of them, like so:
for( TxnRecord txn_rec : writeSet ) {
// do something
}
Seems normal enough. So I replace the HashSet implementation with a LinkedHashSet, which should improve iteration performance. I was a little surprised when this improved the performance not one bit. Then I looked at the profiler results again and realized the following: It wasn't "next()" or "hasNext()" taking all the time, which would indicate slow iteration, it was the actual call to the "iterator()" method, which Java5's enhanced for loops call behind the scenes.
After investigating the implementation of LinkedHashSet I realized something surprising. For empty sets, a call to the "iterator()" method allocates at least two new objects, one for the new keySet of the underlying HashMap, and one for the iterator object itself. All this for an empty set. It turns out that my code was absolutely full of empty sets, since most objects aren't modified in a transaction and their write and undo sets are empty. If you have enough empty sets, this allocation adds up over time. By replacing the above code with:
if( !writeSet.isEmpty ) {
for( TxnRecord txn_rec : writeSet ) {
// do something
}
}
The overall running time of the benchmark went from ~11secs to ~7secs!
This is bad, because iterating over empty collections should essentially have no run-time cost. Looking at the Java implementation, it would be easy to have some kind of singleton, "empty iterator" object that the HashSet's iterator would return if the set were empty. For example:
iterator() {
if( size() == 0 ) return Collections.<Iterator<T>>emptyIterator();
else return map.keySet().iterator(); // This is what it currently says.
}
This singleton iterator could then always return false when "hasNext" is called. The only reason why this might not be acceptable is if there is some rule about iterators needing to reflect subsequent "add" operations to their underlying collection, but honestly that would seem a little strange of a requirement. At the very least, the singleton iterator could hold a pointer to the original collection and continue to call size() after its creation...
Josh Block, are you listening?
Tuesday, April 29, 2008
Whoooo!
Kings of Leon
Monday, April 28, 2008
Hmm...
Saturday, April 26, 2008
Government Coupon
A couple of things are actually nicer about watching digital tv. For one thing, because there are extra digital bits, you actually get program information along with the signal, so I know what's coming up next. The signal seems to be clearer, and I even get some 'bonus' channels, like a 24-hour-a-day Pittsburgh weather channel. Sweet dudes. I'm ready for the digital revolution.
Wednesday, April 23, 2008
Fortress of Multitude
It's about the Fortress programming language, the language I will be working on this summer in Austin, TX. Even cooler? That guy on the right, Eric Allen, is going to be my boss!
Update! Livejournal Sucks!
Try clicking on this link if you can't see anything above, as I cannot...
Monday, April 21, 2008
Three Rivers, CA
Pictures coming soon.
Thursday, April 17, 2008
Urbanhike: Crafton, PA on April 26th
Join us for the inaugural Urban Hike of 2008!
We're starting the season in Crafton, the boyhood home of Bill Cowher and the current home of a 24-hour donut shop and much more. Spend a few hours exploring the area with us on Saturday, April 26th beginning at 1:30 pm. We'll park at the Sharp Edge Creekhouse, 288 W. Steuben Street. Check out their web site to see a map and get a taste for what we'll be tasting after the hike.
Our hike will last 2-3 hours. As always, we recommend that you wear comfortable shoes, and bring water, sunscreen, and a sunny disposition. If you haven't hiked with us before, no RSVP needed-but if you have any questions, feel free to e-mail us at info@urbanhike.org. See you there!
Tuesday, April 15, 2008
Java Type Inference Sucks
Variable unpacked_var =
(this_copy.unpackedVar == other.unpackedVar ?
this_copy.unpackedVar :
throw new IllegalStateException("Unhandled casee"));
Monday, April 14, 2008
Home Slice!
The highlight was the end, when he and his band-members went out into the gallery area for some acoustic songs. It sounded even cooler with the natural reverb of the room.
Go to his web site. You can listen to his entire new album, and I'd be surprised if you were disappointed.
Thursday, April 10, 2008
Sucks more than CMUsual
Wednesday, April 9, 2008
New Song!
It seems like clockwork, but Sick Ridiculous and The Sick Ridiculous (that's now the official capitalization) has a new song. It's called, The Giving 43 Billion Dollars to Charity "Blues," and as always it can be downloaded from our MySpace page. Hope you enjoys.
Tuesday, April 8, 2008
Pizza! Time
Anyway, they just released an album and it's available for free on their web site. Their music is somewhat avant-garde, but they are extremely tight musically, and have some clever songs. My favorite so far is bird-dreams.
Monday, April 7, 2008
SIGBOVIK 2008 Conference Report
The highlights? Well Tom's Tom VII Entertainment System Hero, was pretty rad, although right at the moment when he was to give his presentation things stopped working. He made a parody version of the Guitar Hero games that takes his MIDI files and converts them into a musical score that can then be played just like in Guitar Hero. And because the XBOX 360 GH controller is USB, you can really play the game!
Otherwise, the phrase "The Majestic Stopcock" sticks out. I'll be laughing about that one for a while.
Wednesday, April 2, 2008
Sick!
A couple people said they couldn't download the songs because they weren't on myspace. We understand. We plan to upload our songs somewhere else real soon.
Tuesday, April 1, 2008
Phone Jerk
I am now the proud owner of a Blackberry Pearl phone. It's pretty small and has Quasi-QWERTY capabilities. Boo ya. Send me a text so I feel special.
Monday, March 31, 2008
AB
Introduced in 1955, Busch has a smooth, light taste. The brand is the country's largest-selling subpremium-priced beer in all major demographics.I mean, who calls their own beer subpremium?
In other news, the Pirates just blew a five run lead in the ninth inning on opening day. All is normal in the universe.
Sunday, March 30, 2008
Yeah Bro!
I was a little bummed when we forgot the melody of the chorus of our brand new song, Theme From SIGBOVIK, but later on we remembered it and had a special encore for those who were still loitering in the basement. Which reminds me; we plan to record and release an MP3 of Theme From SIGBOVIK some time this week so that you can begin to get pumped up.
In other news, I'm currently reading a pretty interesting book about the history of beer in America entitled, Ambitious Brew: The Story of American Beer. Definitely a read for all you self-identifying beer snobs out there. One of the most interesting parts of the book thus far has been reading about German immigrants to the US. It's particularly amazing how WWI and the German-American's association with beer was used by the temperance movement to further their goals. Here's a quote:
A Methodist* Bishop denounced beer as, "the most brutalizing" drink available. " The unthinkable barbarism of the German armies in this present war," he wrote, "is, in all reasonableness, to be accounted for largely by their centuries of beer drinking, which has deadened their moral sense and coarsened their moral fiber."Wild, huh?
(*Also interesting to me because, given our tendency to use grape juice to this day at communion, I had long suspected the Methodists played some role in the temperance movement.)
Saturday, March 29, 2008
Ridiculous de Sick
Monday, March 24, 2008
This Weekend in Music
Friday Night Cappy-oke:
Friday night I joined Marcus et al. at Cappy's for their weekly karaoke extravaganza. I sang two songs. Neither of them actually went all that well:
Graceland, Paul Simon. I had been looking for this song at Karaoke for a while now. Finally found it. Sang it. Great song, but doesn't work too well for me for karaoke. First off, it's a little too low. Second, it's a little too long, and there are too many parts where I don't sing.Monday Night Sick Ridiculous and the Sick Ridiculous:
California, Phantom Planet. I sang this song with Marcus, and we were both convinced it was going to kill. It did not. Again, this song was too low, but this time way too low. Considering how slow the song was playing, I suspect we had some version of the song that was actually lowered in key. I remember singing this song in my car, and it went a lot better than this attempt. Oh well...
Tonight, my band Sick Ridiculous and the Sick Ridiculous went to open mic night at the Rex Theater on the south side. It was fun. We played two songs, 737 and Two Mellow Bros. (or whatever we call it). For our first time ever playing live, we both thought it went pretty well, and we even had a few people tell us that they enjoyed it. If you're pissed because we didn't tell you, don't worry. We're just trying to get a little bit more comfortable with ourselves and our live persona.
Friday, March 21, 2008
Did you know about this?What about this?Why didn'...
Wednesday, March 19, 2008
In Deference to XKCD...
Editing wikipedia articles to change references from "The Bay Area" to "The San Fransisco Bay Area."
No Soap?
Rand, this one's for you.
Wednesday, March 12, 2008
Floria-dah!
(My dad, somewhat hilariously, refers to people from Florida as Yankees. I think this was where I inherited the idea from.)
But I think the diagram accompanying this wikipedia article explains it all. They don't talk like us!
Monday, March 10, 2008
Ridiculous!
Check out the first two Completely Authorized Sick Ridiculous and the Sick Ridiculous demos: 737, and Muse... You can get then on our SICK myspace site. They are just demos, but they give you a little taste of what we're up to.
WORD.
Sunday, March 9, 2008
Nels and TomFunkel
Thanks to Mike for the brilliant camera work. Demos coming real soon. Seriously. Like in hours.
Friday, March 7, 2008
Movie Time!
Be Kind, Rewind
Reasons why you should like this movie: It's got Jack Black and Mos Def recreating all the movies from their video store after a freak incident with some magnetic fields with hilarious results. In fact, the movie doesn't really hit its stride until the movie-making, or "Sweding" begins. (Check out the Sweded version of the movie trailer.) Jack Black plays, well, the same character he always plays, which is a plus for me. Mos Def plays a surprisingly interesting character who is neither sarcastic nor wise-cracking. And as we all know, white people love Mos Def. This movie is also big on the community/racial harmony tip, which is subtle and sweet.
Reasons why you might not like this movie: Well no one has seen it, so there might not be anyone else in the theater laughing with you (there were 4 other people when we went). Also, the aforementioned Jack Black; some people don't like him! Finally, the end is a little bit over-the-top (although in my opinion, not as bad as I was expecting, given the lead up). If you can handle a little sentimentality, this won't be a big deal.
Easy Rider
I had never seen this supposed classic so I was very excited.
Reasons why you should see it: Peter Fonda is a bad-ass in this movie! It's got New Orleans/Mardi Gras as its Zion, which I appreciate. There are some cool scenes of New Orleans. According to what I've read, the French Quarter was a pretty rough place in the 60s. Lots of sailors coming out of bars and beating people up, etc. This movie has great music, and I thought, many well-conceived parts. Even the acid trip at the end, a cause for laughter in most movies, was well-done. Seeing Denis Hopper and Jack Nicolson as young dudes is worth the entire experience!
Reasons why you might not like it: While at the time, the idea that tension between normal people and hippies would obviously turn into violence, it seems a little unreasonable from a modern perspective. You kind of have to see the movie to know what I'm talking about here... This movie can be slowwwwww at times. It doesn't have much of a plot, I guess.
Tuesday, March 4, 2008
Relentlessly Parallel!
Currently, if you Google(R) Brand Web Search the terms Relentless Parallelism and Relentlessly Parallel, you get a bunch of random links about literature, Japanese and otherwise. My goal is to become the number one hit for either (or both!) of these terms. Wish me luck! (Of course, links from your site wouldn't hurt either...)
Thursday, February 28, 2008
SIGBOVIK and First PC Meeting
That's why this Saturday you should join us for the first PC meeting. We use the PC meeting as an opportunity to write papers, and then immediately accept them for publication. There's lots of people there. Last year it was fun, and this year it should be too. Here are the details, I command you to come:
SIGBOVIK: First Paper Writing Party
Saturday, March 1st
10am - 6pm (Come for any amount of time you desire. Usually we order some food at some point.)
NSH 3001
Wednesday, February 27, 2008
Complicated Pleasures
I got my first practicum passed! In our department, practicums fulfill the roll of one course, and basically are a description of some work experience that we've had and a real problem that we encountered. We have to do two of them.
It took about a year and a half in total, but I can't really say that I've been working on it most of that time. Most of the time was waiting one comments and that sort of thing. It wasn't too painful, but I'm definitely glad to be done!
Friday, February 22, 2008
The Piano Lesson
The Piano Lesson is the story of a family living in The Hill District in Pittsburgh in the 1930s, and you ought to see it if only because its author, August Wilson, is one of the few nationally known writers to live and work in Pittsburgh. (Two of his works including The Piano Lesson won the Pulitzer Prize.) But an even better reason to see it is because it is terrifically acted by a really talented group of CMU students. Even on the first night (and you could tell a few of the lines were not yet solidified) the characters were all extremely powerful, and funny too!
You should check it out, and I'll leave it at that.
Wednesday, February 20, 2008
HTML Monkey
Question: If you had a bunch of HTML data, in a semi-regular format (exhibit a: Software Engineering Dissertations) and you wanted to jam all that information into a SQL database which has already been created, how would you most efficiently create the INSERT statements to avoid any mind-numbing work?
I've done things like this in the past with Java/Perl/Awk regexps, but they've never really worked perfectly due to the irregular structure. Any better ideas?
Tuesday, February 19, 2008
Lost?
How do you guys do it? What happens if the show gets canceled before you learn what's going? Seems unlikely now, but at the pace they're going, you never know...
Saturday, February 16, 2008
NoT
Wednesday, February 13, 2008
AS.net
Simple, animal shirts.
Sunday, February 10, 2008
Beatles and Battles
What would I have said?
Well, I meant to mention my heartfelt congratulations to Eli Manning, who was busy winning the Super Bowl(tm) this time last week. Those of you who saw the game know how amazing it was, there is little need to say more, except that now I will have to push myself that much harder if I wish to be Most Famous-est Graduate of Isidore Newman School.
In movie news, I went to see Across the Universe, with my lovely lady friend. This movie is great, and was exactly what I was hoping for, although if you don't like musicals, and in particular hate them for their over-the-top-ness (Tom, I'm looking in your direction), you might positively hate this movie. Across the Universe could be described as Moulin Rouge, except with only Beatles songs. There's a great cameo by Bono, that got I Am the Walrus stuck in my head all the next day. The choreography was sweet, something I don't normally care about, and for only the second time I can remember, the chattiness of our audience actually hightened my enjoyment of a film. There was clapping, and chanting, and it was all good.
Today was band practice. Guys, you are going to have to start looking out for Sick Ridiculous. We just might have an impact.
Tuesday, February 5, 2008
Wednesday, January 30, 2008
Idiots
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
Concurrency
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!
Wait/Notify:
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
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.