Home

BlogFace.org

Free Whitepapers!

nolacoaster

FDL

View

Navigation

Advertisement

November 20th, 2009

Fritz Cola - Powerful Stuff

Add to Memories Tell a Friend
FDL

Fritz Cola - Powerful Stuff
Originally uploaded by DixiePistols.
Here's a shot of some fritz-kola, which I just finished enjoying. Good business.

Man, I'll be leaving Berlin this Monday. It's been fun, and I've even gotten some work done, which is really good because I have this deadline coming up in December... Anyway, what have we learned?

- I learned that autotuner has finally made it to Germany.
- Most German beer is very similar. That being said, Schultheiss was my favorite, and since you can't find it everywhere, Jever will do as well.
- Berlin is fun.
- Donner is delicious. But I already knew that.
- The "Wallpaper*" series of guide books is kind of pretentious and lacks good maps, but being able to fit the book in my pocket makes up for any shortcomings.

This week I went to an English bookstore called St. George's and got a few books for the way home. One, "Goodbye to Berlin," I have almost finished. It's pretty good. It was the basis (indirectly) for the musical Cabaret. The other one, "Berlin Alexanderplatz" I haven't started yet.

November 17th, 2009

Flying Heavy Metal

Add to Memories Tell a Friend
FDL
Did you know that Bruce Dickinson, lead singer of Iron Maiden, is a commercial airline pilot? In fact, he hosts a show about airplanes on Discovery Channel called, "Flying Heavy Metal," and I've been watching it on YouTube. Awesome.

November 16th, 2009

Spree

Add to Memories Tell a Friend
FDL

Reichstag People
Originally uploaded by DixiePistols.
Yesterday was a great day! The weather was sunny and perfect for site-seeing. We finally did some of the most touristy stuff in Berlin, and as a result, I got some pretty good pictures. Some of them are posted here! Most of them, however, are stuck on my stoopid memory card*.

So we started by taking a big walk down "The Spree," the main and most quaint river in Berlin. We saw people with letters. We saw architectural marvels. We also spent a ton of time waiting in line to see The Reichstag, the seat of the German government. This is possibly the most touristy thing you can do in Berlin, and appropriately we waiting in line for line an hour. But once we got up there, the views were great. There was even some kind of session going on inside, as you can see from the picture to the right.

We continued along to the Brandenburg Gate, the Holocaust memorial, and finally a trip to Prenzlauer Berg, a pretty cool neighborhood, for dinner (pizza!) and drinks. The drinks were at a very cool bar called Neue Odessa. I would highly recommend it for its Victorian wallpaper and delicious drinks. Singapore Sling... mmm...

*Every time I try to copy a bunch of pictures from my camera's memory card to my laptop, I get an annoying "Memory Parity Check Failure," blue screen of death. Arrrrrgh!

November 9th, 2009

I guess I never mentioned this because of how hectic things were the last two weeks, but I did participate in the OOPSLA 2009 Student Research Competition. The first day, I presented my poster in an all-conference poster session. Owing to the excellent position of my poster (Yay for alphabetically-early last names!) I talked to a ton of people, thus giving me the necessary confidence for when the actual judges came to talk to me. 

That night, I had a message in my hotel room that I had passed on to the final round, meaning I needed to give a short presentation explaining my work. Of course I didn't have one, so I wrote one there in the conference. The results, were pretty good. I think I gave a good talk. My slides were fine. I definitely could have answered the questions better. 

Nonetheless, I won third place, which amazingly means I will receive a plaque and a small monetary prize. Tudo Dumitraş, another CMU student from a different research group, won first prize. 

Therefore, from this point forward, I shall refer to my thesis work as award-winning research.

November 7th, 2009

Alexanderplatz

Add to Memories Tell a Friend
FDL
My first day of site-seeing in Berlin, and it was a doozy! We started off in Alexanderplatz*, which is sort of the center of East Berlin. They have they crazy TV Tower that looks like Sputnik on a pole. We walked around that whole area, which has a number of neat shops**, wide streets and was filled with people. The weather was sunny today, for the first time that I've been here, but it was still pretty cold.

We saw a couple neat art exhibitions. The first was Scorpio's Garden, which was just a sort of temporary gallery of contemporary art made by Berlin artists. The highlight was a video of a guy blowing up a raft with a tube connected to an accordian that he played.

Then we went to the German national museum for a retrospective on Berlin art during the Cold War. There was a bunch of stuff, some of it explicitly commenting on the division of Germany, and others more abstract. My favorite was the Literature Sausage made by an artist who would shred books by authors he disliked, add spices and wrap the pieces up on sausage casing. 

Finally we chilled out at this little coffee shop with a pig for a logo, where over the speaker a woman sang "Comfortably Numb" by Pink Floyd in German. All in all a good day. Pictures soon and more fun tomorrow!

*"I've platz-ed myself" and "I almost platz-ed myself" have become my go-to comedy phrases for the time-being.
**One of them had nutcrackers. I was delighted to learn that the German word is Nusseknocker, or Nußeknocker if you're feeling sassy.

Henne & Trendy Bar

Add to Memories Tell a Friend
FDL
Last night we went out of the house, pretty much for the first time since I've been here. We went to two places.

Henne - was a cozy restaurant where they primarily serve fried chicken. Sounds a little funny, but actually is was very classically German. The inside had a great looking bar area and lots of wood, kind of that winter lodge feeling. Apparently it's one of the older restaurants in Berlin, but it's casual. The Chicken was excellent! We each had a half chicken. And the potato salad was cold and delicious, filled with mayonnaise-y flavor. 

Some Trendy Bar - forgot the name of this place. Actually I never knew it because it was the kind of place that doesn't go out of its way to tell you what it's called. This trendy bar had cocktails and a cool decor inside. It was full of hipsters and easily could have been transported to the US without me noticing. Would recommend.

November 4th, 2009

Berlin

Add to Memories Tell a Friend
FDL
I finally made it to Berlin yesterday. Today I am trying to work, but I am fighting jet-lag pretty hard. The period right after lunch, where I'm full of food and it's 6am or whatever in Pittsburgh is always the hardest part of my day. I planned that time to read a paper, but that may have been a mistake. I am having to fight very hard to stay awake. 

Lame parts: It's snowing here... and cold. So the weather is actually kind of worse than in Pittsburgh.

Cool parts: I was bumped off my flight and put on a business class ticket one day later. I think that was the first time I've ever flown business class across the ocean, when it actually matters. Definitely nice, but probably not worth ten times the cost of a normal ticket, which is what I believe it normally costs. Also, there are a bunch of cool little restaurants near-by with soups and things, and a bunch of neat coffee kaffee shops too.

October 30th, 2009

Last Night's Concert

Add to Memories Tell a Friend
FDL
Man, it's been a busy freaking week! I'll begin at the end: Last night was the third club gig for Sick Ridiculous and the Sick Ridiculous, and our second at the Smiling Moose. There were good times all around. First off, gotta give props to those of you who made it out. We really appreciate it, and we don't take any of our fans for granted! Of course, we also don't expect all of our fans to come to every single show! But hopefully those who were there had a good time.

We had a couple surprises in store. First, we played with an electric guitar for the first time every. Tom & I passed the electric guitar back & forth for max rock, although some songs we stilled played with two acoustic guitars... Actually my guitar gets out of tune really easily because of my dumb Bigsby Tailpiece. (I am pretty sure I have complained about this before.) So there were a couple times where it went out of tune during a song, but for the most part it was all good. We also dressed up in a band uniform: White shirts, black ties and black pants. Some lady at the bar asked us where we worked. We told her, "we work in a band."

The other bands on balance were pretty good, but way too loud. My ears have been messed up all day today. But seriously, this band Stone Cold Killer is really great & hilarious. They are sort of like a new 70s-style metal band. You could probably compare them to Eagles of Death Metal, or maybe the Supersuckers. Definitely check them out.

OOPSLA 2009 & Disney World

Add to Memories Tell a Friend
FDL

disney-oopsla-2009-20
Originally uploaded by DixiePistols.
I just posted a bunch of pictures from my trip to OOPSLA 2009, in Orlando. Really all of these pictures are from Monday, the day Josh & I went to the Magic Kingdom in Disney World. I am a huge sucker for the Disney parks, and I am willing to fork over huge amounts of $$$ in order to experience the child-like exuberance that they instill. Anyway, I had a great time. Most of the good pictures are from the ride "It's a Small World."

October 22nd, 2009

Sick Ridiculous and the Sick Ridiculous has a show coming up next Thursday! It'll be our first club gig in quite a while, so you should definitely come check it out. We have a few surprises up our sleeves. Also, the headlining band will be Sound of Urchin (on their Rocktober Tour), a band that has been on the Late Late Show and that has opened up for Tenacious D. So, we'll be in good company. Here's the facts JACK:

When: Next Thursday, October 29th (Wear your Halloween costumes)
Where: Smiling Moose on the South Side (1306 E. Carson) This show is upstairs. If you saw us there last time, this is different.
How Much Bling: 9USD
With Whom: After the Fall, Stone Cold Killer and Sound of Urchin (We will go first)
At what time: Web site says 7:30

October 21st, 2009

This Saturday is the annual Urban Hike Scavenger Hunt. Feel free to join us. Should be a great time! Here's the official press release:


Although the competition was intense between the four locations that made it to the final round, the Urban Hike Committee agreed that Bloomfield's bid was the most compelling.

Join us there on Saturday October 24th for our annual Scavenger Hunt. We'll meet in Friendship Parklet (near the intersection of Friendship and Mathilda) at 1:00pm. Get ready to compete against teams from all around the world (well, all around the city, anyway) for bragging rights, and maybe even a few prizes (we might be just a little short on medals).

Your team will need one digital camera, and a connector to upload photos to a laptop (we can't accept photos via e-mail). We also highly recommend you delete any non-Urban Hike photos from your camera prior to the event - this is mostly for speed and ease of scoring, but for your own embarrassment factor as well. ;-)

Form a team of up to 5 people, or come on your own and we'll put you on a team. RSVP's from teams would be much appreciated, and you can respond to info@urbanhike.org, or on Facebook (become a Facebook Fan of Urban Hike, if you haven't already!).

IMPAQT!!!

Add to Memories Tell a Friend
FDL
I just finished my application to CMU's IMPAQT project. This project attempts to better connect CMU's Pittsburgh campus with its other campus in Doha, Qatar. I think I made some good points in my application, but  I always have trouble with these things. I also tried to keep it light. Let's see how that works out.

October 12th, 2009

BlogFace in the BlogSpot?

Add to Memories Tell a Friend
FDL
Hey folks. I have lately been thinking about moving this blog over to a different service, most likely Blogger. I wanted to see if anyone had any comments or suggestions. I know this will mean a few changes. Among other things, those of you who follow me as a friend on livejournal will no longer get my updates. Blogface.org, which now resolves to this blog would naturally be updated to resolve to my new blog. This could mean a change to those of you who subscribe to my livejournal RSS feed. I have thought about that. In order to future-proof yourself, you could change that subscription to instead point to feed.blogface.org, which as of today will always point to the current RSS feed.

The main reason I am contemplating a switch is flexibility. Livejournal just isn't that flexible. Its methods for creating blog entries can also be somewhat painful. I can't post cool gadgets like a Last.fm most-recently played songs widget. There are only a limited number of templates. I cannot install Google Analytics. Other things. 

So what do you think. Is this a bad idea? Would you be adversely affected?

October 10th, 2009

An Evening With Mike Doughty

Add to Memories Tell a Friend
FDL

An Evening With Mike Doughty
Originally uploaded by DixiePistols.
On Thursday I saw Mike Doughty at Club Cafe in Pittsburgh. He was touring in support of his new CD, "Happy Man, Sad Man," which I just purchased today and already enjoy. The concert was pretty much everything I could ask for in a concert-going experience.

So first off, as you might be able to tell from the ticket, this was AN EVENING with Mike Doughty. This is industry code for, "there are no other bands playing." This was, frankly, awesome. Yes, I know it is important for bands to have opening bands, to increase exposure for up-and-coming bands (which, by the way, is why you should come see Sick Ridiculous & the Sick Ridiculous October 29th at The Smiling Moose!) but sometimes you want to show up at 7pm, rock for the next hour and leave. This is exactly what happened.

Moreover, the sound at Club Cafe was great, and we had a table with a great view. See normally Mike Doughty plays at Mr. Small's-sized venues, but this time he decided to play three shows at Club Cafe instead. In this case smaller is definitely better! This is now the third time at least I have seen Mike Doughty in some form, the second time where it was just him, and acoustic guitar and his boy Scrap Livingston on the cello.

As a nice bonus, Mike put out a jar for questions from the audience. He answered the mostly-funny questions over the course of the evening, and I think through this we gotta a pretty good sense of his personality. Also, he like me, does not like when people in the back are talking and yelling things during the show. So he boldly (if somewhat confrontationally) told those people to shut up.

Um, and that was about it. He played most of my favorites, so it was a good time. His voice sounds great, low and gravelly. Also, they recorded the show and offered it for sale immediately afterwards, which I thought was pretty cool, although I didn't have any money so I didn't actually buy it.

October 7th, 2009

Boom

Add to Memories Tell a Friend
FDL
This song is unbelievably funky:

"You Dropped a Bomb on Me," by the Gap Band 

October 4th, 2009

Technical Challenge: SML

Add to Memories Tell a Friend
FDL
Success! I finally got SMLNJ and the MLton optimizing compiler to work with Windows. I am very happy about this, as I had been trying for quite a while and ran into various annoying compilation and DLL problems. (Really mlton was the difficult one.) Here's how I did it.:
  • Download Sun's VirtualBox VM software.
  • Install Ubuntu.
  • Use apt-get to install smlnj and mlton.
Seriously. I really think this is the way to do it and I am perfectly happy to launch Linux every time I want to program, it's just so much easier in Linux land. I like cygwin generally, but I have found that if you want to install some software and there's not already a distribution for it, it can make your life miserable. Ubuntu, on the other hand, has like 9 million packages, and even includes obscure stuff like sml. Problem solved!

October 1st, 2009

Not Really Funny, Just True

Add to Memories Tell a Friend
FDL
With apologies to College Humor:

Pick two: 100% Fruit Juice, Cheap, Does Not Contain Pear Juice

September 25th, 2009

Separating Java: Objects

Add to Memories Tell a Friend
FDL
Now, what about objects? Certainly Java, as an object-oriented language, provides many features for creating an using objects. Many of those those features, unfortunately, seem to obfuscate the essence of objects. In some ways the most important features of objects are that they implement an interface, and that we can treat them as merely their interface. Here is an interface, and means of constructing objects that implement it. Notes to follow.

public interface IntSet2 {
  public IntSet2 add(int i);
  public boolean contains(int i);
}

final public class IntSet2s {
  private static IntSet2 append(final int i, final IntSet2 set) {
    return new IntSet2() {
 
      public IntSet2 add(int i) {
        return append(i, this);
      }
 
      public boolean contains(int j) {
        return i == j || set.contains(j);
      }  
    };
  }
  public IntSet2 singleItemIntSet(final int i) {
    return new IntSet2() {
      public IntSet2 add(int i) {
        return append(i, this);
      }
 
      public boolean contains(int j) {
        return i == j;
      }
    };
  }
  public IntSet2 evenIntSet() {
        return new IntSet2() {
      public IntSet2 add(int i) {
        return append(i, this);
      }
 
      public boolean contains(int i) {
        return i % 2 == 0;
      }
    };
  }
  public IntSet2 emptyIntSet() {
    return new IntSet2(){
      public IntSet2 add(int i) {
        return singleItemIntSet(i);
      }
 
      public boolean contains(int i) {
        return false;
      }
    };
  }
}
 
Notes
  • All the objects created in this program are anonymous instances of the IntSet2 interface. Any code that want to can implement this interface! 
  • We have completely side-stepped classes. We use constructor functions to create instances of IntSet2.
  • Code cannot use an instanceof test to tell which implementation of the IntSet2 is being used. In fact, it has no way of telling the difference between the different implementations other than by observing their behavior through the interface.
  • Each implementation of interface can have a completely different representation, and it is impossible, even for instances of the same interface, to see the representation of an IntSet2.
  • Benefits: Programming to interfaces can give great flexibility by allowing any piece of code to implement it, so long as the implementation conforms to the documented behavior. 
  • Caveats: It can sometimes be hard to implement efficient code in some cases where this pure object style is used.
     

Separating Java: ADTs

Add to Memories Tell a Friend
FDL
In Java, Abstract Data Types and Objects are rather intertwined, often to the detriment of programmers. In this post and the next, I'll try to separate the two concepts as best as I understand. Note that most of these ideas, and the Set example specifically, come to me from William Cook's recent essay. The ideas are also well-covered in TAPL, without the Java code.

Here, I will use a subset of Java's features to express an ADT, such as one would have in a language like ML or Ada. It's a (not very efficient) set. Notes follow.

final public class IntSet {
 
  private int[] members;
  private IntSet() {
    this.members = new int[0];  
  }
  public static IntSet empty() {
    return new IntSet();
  }
  public static IntSet add(IntSet set, int i) {
    if( Arrays.binarySearch(set.members, i) != -1 ) {
      return set;
    }
    else {
      IntSet result = new IntSet();
      int old_length = set.members.length;
      result.members = Arrays.copyOf(set.members, old_length + 1);
      result.members[old_length] = i;
      Arrays.sort(result.members);
      return result;
    }
  }
  public static boolean contains(IntSet set, int i) {
    return Arrays.binarySearch(set.members, i) != -1;
  }

  public static IntSet union(IntSet s1, IntSet s2) { /* Performs merge sort. */ }
}

Notes:
  • The class Set is the abstract data type. It has been declared final, which tells the programmer that the representation is fixed and known completely inside of the class.
  • The members field is private to hide the representation. 
  • The constructor is private so that new Sets must be created through one of the existing introduction means, namely empty().
  • All methods are static. No dynamic dispatch is being used here. We do not want to send messages to objects that can handle that message in an arbitrary way, rather we want to perform some operation on a hidden representation by functions inside of the abstraction that are allowed to view the hidden representation.
  • Benefits: Functions inside the Set class can operate on sets with complete knowledge of a set's representation. This can occasionally be beneficial, particularly in cases where performance is important. Knowing that all sets are implemented as sorted arrays of ints can sometimes allow me to write better performing methods. (Binary methods in particular, but other methods as well.) For instance, in the union method above which is incomplete, can perform its task using merge sort if that is more efficient. Still, the representation is hidden from the rest of the program, so we can change things internally without affecting code as long as we don't change the public methods.
  • Caveats: No one else can define a Set that is compatible with this Set! If a certain method expects an IntSet of the sort we've just defined, then the IntSet can only be created through this class, and not through any other means. The representation for all IntSets is fixed (but hidden).

September 22nd, 2009

Yesterday in SSSG (that class I have to take every semester until I graduate) I gave a talk entitled, "Case Studies in Concurrent Object Protocols." It was really an experience report describing the use of my approach on some open source programs. I used my tool Sync-or-Swim to verify some open source programs, and I encountered a couple of neat patterns which I describe. If you're intrested, check out the slides. I'm afraid you need something that can read PPTX, but if you're interested and you can't read that, let me know and I'll put it up in a different format. 
Powered by LiveJournal.com