Sunday, December 28, 2008

Movie Boycott

Based on tonight's movie-going experience, I've decided to instantiate a boycott on certain movies. I can't stand stupid, unrealistic sequences unless the reality set forth in that particular movie has already dictated or indicated that it's possible. For instance, I don't mind if a person teleports if the movie dictates or indicates somehow that people can teleport. I don't mind if people can fly, or if they can time travel, or anything else, as it corresponds to the reality of the movie. I have a good suspension of disbelief. I hate special effects for the sake of special effects, though. Sometimes, flashiness hurts a movie.

With that in mind, here is the (probably soon to grow) list of movie-related people I'm boycotting...


  • Michael Bay - Only Bad Boys was good. Transformers was passable.

  • Stephen Spielberg - Enough grey. This is largely based on the latest Indiana Jones flick, though.

  • George Lucas - See Stephen Spielberg. I'm looking at you, Indy.

  • Louis Leterrier - He directed Transporter 2, which is the original inspiration for this train of thought. I can't stand this movie.


I'm sure this list will grow. I'll update it as I come across examples of bad movie-making, unless I've already stabbed myself in the eyes with a fork as the lesser of two evils to watching another movie of this sort.

Useful Sites

Just check out this site. It's got a lot of useful links for you.

And here's one for you Mac lovers.

Friday, December 26, 2008

Grindhouse

A day or two ago, an interesting thing began happening. The Girl's car decided to randomly start making a grinding noise similar to one you might hear if you decided to draw and quarter a robot. My brother being awesome, he figured out what the problem was at about 11:30 PM last night. I had missed it. He saw that a length of rope got wrapped around the car's transaxle. After winding about a bit, it got sufficiently tangled and collapsed the CV boot that protects the joint where the wheel assembly meets the transaxle. So, my brother and I were up until 2 AM taking the wheel off the car and cutting the friggin' rope away with a small collapsible knife.

What's more fun, of course, is that the car still makes the noise. Apparently, the noise began when the boot collapsed. So the teeth of the gear at the end of the transaxle are hitting the collapsed CV boot. Humor being what it is, the boot is just a plastic covering. However, to replace it, I think the entire wheel assembly has to be taken apart. I expect that this will be expensive...

Wednesday, December 24, 2008

Eeeeee.....

Christmas eve dinner was going quite smoothly. Past tense. Then the Girl spoke. I mentioned that I had not gone to a family party because I stayed in MD for a bachelor party. The 'rents asked where the party was. I stated that the first half was at Ellicott Mills Brewery, and that the second was at a strip club. This is about as far as I wanted to take the conversation.

That is not, however, how far she wanted to take it. "Guess what else! Your son got a lap dance. And guess what else! He put dollar bills in strippers' G-strings." She had to tell my parents. Now she's going to sleep on the sofa tonight for causing me the most awkward Christmas eve dinner I've ever had.

Oddly enough, that wasn't the end. "Guess what else! That's where we're going to have our baby shower!" Yeah, she went there. My dad was the only one there to stand up for me. My wife was clearly not doing a stellar job of it. I wonder what I can get for this particular slight. PS3? Computer? I think it deserves something...

Tuesday, December 23, 2008

Spawn of Satan

The girl and I got to hang out with Irene tonight. It was fun. Irene made a tasty meal of risotto and salad, and for dessert... tiramisu. I love tiramisu. Then we hung out and talked all night. Irene's a ball of fun. She has some interesting qualities too. Somehow, you can get her to laugh to the point that she does all of laugh, hiccup, and burp simultaneously. It's one of the funniest things I've ever heard.

The other bit of humor involved her stomach. It seemed to speak all night to the point that we figure she's going to spawn the anti-christ sometime in the near future. "Mwarwarmwarwar..." All night long. It's pretty impressive. Then, when the hellspawn comes, her completely perfectly circular toilet will probably eat it and send it back to hell.

It's been an interesting night...

Monday, December 22, 2008

Insensitivity At Its Finest

The girl already talked about this, but I didn't know she was worried pretty heavily about it. The F-ing doctor's office called this morning and left us a cryptic message saying that the baby's kidney looked small on the sonogram and that we need to return for another. They left no further explanation. They didn't bother telling us not to worry. Nothing...

So, after she called back, they told her that they suspect that her fibroid was in the way of the kidney measurement. Apparently, though, that doesn't allay her fears that something is wrong. Now I have to wake tomorrow morning so that I can call the doctor and find out what it might mean. That phone call was damned insensitive of a doctor's office that knows all of its patients are expecting and horribly nervous that everything will be fine for the child. Now, so are we. F-ing hell...

Sunday, December 21, 2008

Pretzel Beer: Bottling

Well, the pretzel beer is done and bottled. I'm calling it "Four for a Dollar" because we added pretzels from Philadelphia. For the unindoctrinated, in Philly, you can stop at many street corners and pick up four nice, large soft pretzels in a brown paper bag for a dollar. It's tastiness at it's greatest (and cheapest). So, we made the American Wheat beer recipe from Maryland Homebrew and it's in bottles. Yield: ~28 bottles. We had a little bit of the uncarbonated, warm beer and it was pretty good. It's also a nice color red. I think, once it's carbonated, it'll be pretty tasty.

Saturday, December 13, 2008

Snowboard Season Begins

Snowboarding was awesome! Ken and I, along with his ski/snowboard club, went to Seven Springs today. It was fantastic! Besides the weirdness of earlier (the carbecue), all sorts of other things happened.

On the way to the mountain we stopped at Sheetz. It has a better name according to the head of the group, but I can't currently remember it. At the mountain, I regained my snowboarding composure relatively quickly and also got to ride in UNPACKED POWDER for the first time ever. It was a dream. I want to go to Colorado. Hopefully New York in January and Vermont in February are sufficient. This is going to be a good season.

On both the way up and the way back, we saw a windmill farm pumping out the energy. I love seeing stuff like that. A picture might follow sometime. On the way back, we also saw the legs of a dead deer (I'm guessing hunted, and not roadkill) sticking up out of the back of a pickup truck. We also stopped at a Sheetz on the way home, whose nickname is now "Dirty Sheetz." You'll never guess why. It turns out buffalo sauce on a cheese steak, though not a Philadelphia thing, still makes my taste buds leap off my tongue and do a dance.

Now I'm home, clean and full of hot chocolate, and ready to sleep in tomorrow! I love snowboarding! Let the season begin!

Snowboarding Pre-Season

Snowboarding season has begun. Ken and I are in the car now, on the way there, and it already promises to be an interesting day. We've already been stopped dead on the road due to a carbecue blocking traffic. I love Maryland. In case you weren't aware, that was sarcasm. But, can't get me down because I'm GOING SNOWBOARDING!

Monday, December 8, 2008

Clean Exception Tracking, Beautiful Code

I really wanted a way to track my exceptions without making my code look ugly. The answer seemed to be to use Python's decorators in some way, but they introduce a twist... decorators return functions, so checking the exception information always yields an exception inside a decorator.

As an example, see the following:


import inspect
def test_handler(func):
def func2(*args, **kwargs):
try:
return func(*args, **kwargs)
except Exception, e:
print "excepted"
(file,line,fname,context,ind) =
inspect.getframeinfo(inspect.currentframe())
print "Func: %s" % (str(fname))
return func2

@test_handler
def run_user_codes():
k = {}
k['test']

if __name__ == "__main__":
print "In main"
try:
run_user_codes()
except Exception, e:
str(e)


When you run that, the output will be:

In main
excepted
Func: func2


To solve this problem, you can use the traceback module to get accurate data regarding the actual exception. For example:


import sys, traceback

class TrackException(Exception):
def __init__(self, tb=None):
self._tb = []
self._tb.append(tb)

def add_tb(self, tb):
self._tb.append(tb)

def __str__(self):
string = ""
count = 0
for t in self._tb:
(file, line, funcname, codestr) = t
string += "[%d] %s (line %d, in %s): %s\n" %
(count,file, line, funcname, codestr)
count += 1
return string

def __getitem__(self, y):
return self._tb[y]

def inspected_exception_handler(func):
def func2(*args, **kwargs):
try:
return func(*args, **kwargs)
except TrackException, e:
(t,v,tb) = sys.exc_info()
list = traceback.extract_tb(tb)
e.add_tb(list[1])
raise e
except Exception, e:
(t,v,tb) = sys.exc_info()
list = traceback.extract_tb(tb)
raise TrackException(list[1])
return func2


@inspected_exception_handler
def run_user_code():
k = {}
k['test']

@inspected_exception_handler
def func():
run_user_code()

if __name__ == "__main__":
try:
func()
except Exception, e:
print str(e)



Including the above code in your code makes tracking function exceptions much easier without cluttering your code.

Saturday, December 6, 2008

Experimental Adventures in Brewing: Part 1

While sitting in the office working, I had a side discussion about Philadelphia soft pretzels. Everywhere I've ever been except for Philly has no such thing as soft pretzels that are four for a dollar. The Philly soft pretzels are also nice and dense and tasty. Well, during this discussion, it also came up that I'm getting into brewing. My coworker wondered aloud how a soft pretzel beer might taste. I decided then and there that I'd like to try it!

The beer, which I'm dubbing "Four for a Dollar," is currently fermenting. We (Amanda and I) started with an American Wheat beer recipe and added Philly soft pretzels from our recent Thanksgiving trip up there to see family. Ultimately, I'm hoping I can taste the pretzel. If not, I think we'll have a pretty tasty wheat beer, so I guess we can't really lose on this one. Stay tuned...

Opera 10 Beta

I don't really consider myself a fan-boy of any particular browser. I use Safari and Firefox for different things. The only major feeling I have about any browser is that I hate IE. Firefox has some really nice configuration options, and a whole lot of nice plug-ins. Safari is built-in to OS X, and also has a few nice options. I prefer Firefox over Safari.

Discussions recently about Firefox Greasemonkey hacks and others combined with seeing a bit about Opera releasing a 10 beta made me decide that I should download and play with it. Some people are really big fans of Opera to the exclusion of other browsers. My prior experiences with Opera left me wanting.

After playing with it and learning the slightly different ways to make it do the things I'm used to in Firefox and Safari, I have to say I like it. The interface is very nice, and a diversion from the standard browser layout. The toolbox icon in the upper left hand corner allows for quick access to bookmarks and other gems without requiring that they are shown at all times. Opera also has a feature called Speed Dial, which is effectively a tab that allows you to quickly load any of nine of your favorite pages after configuring them. As I am largely a creature of habit, this is pretty useful for me. After discovering this feature, I learned that Firefox has a plug-in to do the same thing. It's also really fast. I'm relatively sure it loads pages faster than Firefox and Safari, but this is just a feeling as I haven't done any time tests.

There are one or two things I'd prefer to be able to configure that don't seem to be configurable, however. To open a tab in the background (remember, I'm on a Macbook and therefore have no middle click), I have to use Command+Shift+click instead of the usual Command+click. This can't be configured. Also, there seems to be no way to replace the current tab with Speed Dial. Seemingly the only way to use Speed Dial is with a new tab. That's a minor inconvenience, but it would be nice to have a button that would replace the current page with Speed Dial. Those, so far, are the only problems I have, and they're not really problems. Overall, I like it, and I plan to hang onto it for a while.

Update: After searching briefly online (i.e., after determine the correct search terms), I found this page, which showed me that buttons can be added to Opera with hyperlinks! How cool is that?! Anyway, on that page was a button to replace the current tab with Speed Dial, which is one of the features I mentioned I would like. Now if I could just find a fix for the mouse button thing...