Friday, August 04, 2006

On the move..

Head on over to

Friday, July 28, 2006

Bluetooth on the Desktop

I love the Bluetooth capability built in to my car. I get in, it recognizes the phone and everything is handsfree.. perfect!

Why can’t I have the same thing sitting at my desk? I want my computer to recognize my phone and pop up a little message telling me who is calling. Maybe this could be taken a step further and allow me to initiate calls from my computer to my cell phone. I’m sure there are many cool extensions on this idea, but I just want the basics. Why? Simple, I constantly miss calls when I’m listening to music. The only way to get my attention when I’m listening to music is via IM, which isn’t exactly what I want.

Tuesday, July 25, 2006

I’ve been doing it all wrong…

Eye opening, but not too surprising: This paper essentially argues that bike commuting isn’t as beneficial for the environment as you might think because it increases longevity, and during that time you use more resources than everyone else who ate sat around eating potato chips and dropped dead early. Combine this with Kate’s recent post about how much energy cars really consume and my world is upside down.

It’s pretty clear to me now that I should stop bike commuting, get a Hummer (actually, probably a Scion) and chow down. It is a relief actually. Every time I’m about to head out for a ride I’m faced with the question: should I ride or stay home and eat jelly beans? In my mind, jelly beans are one of the most perfect foods on earth, right up there with peanut butter (no, I’m not a fan of peanut butter jelly beans). The decision is so much easier now! I don’t have to go out and ride for a few hours just to enjoy some fresh beans. I can grab the jar, head over to the couch and call it a day. Hell, since I don’t have air conditioning, I could even take the jelly beans into my huge air conditioned SUV and drive around for the afternoon. This is going to be awesome.

Sunday, July 09, 2006

Mountain Biking

After almost two years away from the dirt, I finally got the chance to hit the trails last weekend. Boy have I been missing out on some serious fun! Mountain biking is what drew me into this sport, but for some reason I always neglect going back to my roots. I think it comes down to the fact that road biking is simply easier. I can roll out of my garage and get a great ride in. Mountain biking always takes more preparation, as well as a drive.

Anyway, as I said, it was great to get back out on the trail. I went over to Tiger Mountain, which is about 20 minutes from my place. The route there starts with a 3 mile climb up a fire road and then rewards you with a magnificent 3 mile single track descent. This is followed by some more fire road riding and then another few miles of single track to get you back to the parking lot.

Right away I noticed how my skills have changed over the years. I remember how the initial climb used to kill me. In fact, I once wondered if I’d ever be able to make it without stopping. Now I can pull off the climb nonstop without even using my smallest front chainring. On the flipside, my technical skills have definitely deteriorated. I’m more timid on the single track and wasn’t taking the usual risks. It took me a while just to trust the bike’s capability and cruise over roots and small drop-offs.

Let’s hope it isn’t another couple of years before I get out there again..

Friday, June 30, 2006

I’m Going to France

Since it looks like just about everybody is going to be thrown out of the Tour, I’m going to catch a redeye over there and do my part. I don’t need drugs, just an ample supply of Clif Bars.

Thursday, June 29, 2006

More Impressions

My tour of the Microsoft language/tool suite has been continuing nonstop. While I have many more thoughts about C# at this point I figured I’d take a minute to talk about the tools. Like many other people with a Unix background, I’ve spent most of my time with Emacs and make. Only in the past year did I spend significant time with Eclipse when I worked on a Java project. I was extremely impressed with Eclipse and was expecting the same from Visual Studio.

Unfortunately I have been a bit disappointed. I want to be fair and say that I believe Visual Studio is a far bigger and probably better product. My experience is limited to working with Visual C# and comparing that with writing Java with Eclipse. Anyway, I struggled for a long time to find some of the features I was used to in Eclipse and have learned that in some cases they simply aren’t there.

Two that come to mind are “organize imports” and incremental builds. In Eclipse you can simply write code and then hit the organize imports command to have all of the correct import statements added to your code. It is even smart enough to remove import statements if they are no longer necessary. There is no equivalent in Visual Studio. Sure, it has ways to auto resolve types and add the proper using statements, but the functionality is not as slick as that in Eclipse.

I’m still struggling with not having my IDE continuously building my project. In Eclipse I could just write code and instantly know what compiled and what didn’t. In VS I actually have to click Build to get the results. IMO, this has noticeable lengthened the build/compile/test cycle.

I won’t even start on the lack of refactoring tools. Anyway, all is not lost. I figured Visual Studio is a great product and I must be missing something, so I picked up a copy of Visual Studio Hacks and starting poking around the web. The good news is that by adding several plug-ins I was able to reclaim much of this functionality, save the incremental builds. I’m still learning my way around and I’m sure I’ll find more goodies in my exploration.

On the plus side, it is a very stable/fast product. Eclipse was a bit slow and prone to strange bugs. I have encountered nothing like that with Visual Studio. It is always very snappy and I can leave it running for days with no trouble. Now if only my fingers would adjust to the Windows keybindings….

Monday, June 12, 2006

First impressions of C#/.NET

Now that I've been messing around with C# for a couple of weeks I figured it is time to report on some initial impressions. Today's topic: web services. The quicky summary is that I'm very impressed with the ease of putting together both a simple web service and client.

Writing a class which exposes methods via web service is just like writing any other class. The only difference is that you mark the methods you want exposed using the [WebMethod] attribute. For example, let's start with a very simple, classic example:

public class HelloWorld

public Service () {

public string HelloWorld()
return "Hello World!!";

To turn this into a service, you only need to make a few changes:

public class Service : System.Web.Services.WebService

public Service () {

public string HelloWorld()
return "Hello World!!";

The rest is taken care of for you, including generation of the WSDL. I come from a world where you start writing the WSDL by hand and then use it to generate stubs for your service code. Believe me, building services this way is a huge relief.

Now, coming from an environment like Amazon makes you immediately skeptical of anything this automated. You start to wonder if it can really perform and how hard it will be to do anything "outside the box". I'll be honest, at this point I don't know the answers. I do know that I was able to get a service running in about 30 minutes, which is a huge productivity win even if I have to get more hands on later in the development process.

What about the client? Writing the code to call the service is just as simple. Once you have your WSDL generated, you can just point one of the provided tools at it to generate your client code. Out of the box you get a client library that can call the service both synchronously and asyncrhonously. Nice.