Walnut Creek to Danville on foot

I ran 16.5 miles yesterday, in 2:36:18, which is a 9:31 minute/mile average. I've been putting off this post because I wanted to post a map with my actual run data on it, but with the tools I have, that's proving to be a bit more work than I expected. Anyways, here's the route I plotted beforehand.

 In the process of running that distance, I've proved to myself that I can do a half marathon (13.1 miles), no problem. However, I'm definitely not doing a marathon any time soon, as the last 3 miles ended up being an exercise in perseverance.

 The first 10 miles of the run on the Iron Horse Trail were absolutely the best. There are some really beautiful stretches of trail through Alamo. For those of you not on the crazy runner kick, it would be a really nice bike ride (and it's pretty much all flat.)

 Anyways, when I get my GPS line nicely overlaid on a Google Map, I'll
post it here.

JRuby lead developer expounds on useful JVM flags

I probably start up a JVM a thousand times a day. Test runs, benchmark runs, bug confirmation, API exploration, or running actual apps. And in many of these runs, I use various JVM switches to tweak performance or investigate runtime metrics. Here's a short list of my favorite JVM switches (note these are Hotspot/OpenJDK/SunJDK switches, and may or may not work on yours. Apple JVM is basically the same, so these work).

If you write any serious Java at all, I highly recommend that you click the link above and read his post. It is full of many amazing gems that I can see being really useful for optimizing and debugging Java applications.

Why me and HP laptops don't work

I think I've completely figured out why while I'd like to buy an HP laptop (given that I work for them), I still haven't quite found one that would work for me. I'll start by breaking down the general laptop categories:

  1. Home/Consumer Laptops: These are the laptops you can get from http://www.hpshopping.com and in most big box electronics stores. They tend to be designed primarily for aesthetics and to keep costs low. While HP tends to get good scores on consumer support metrics, everyone who has ever dealt with standard consumer phone support knows that the bar is pretty low to be better than the majority. Having dealt with this support myself, I can say that I'm not impressed. Admittedly, one probably shouldn't expect much for these prices. Also, getting Linux running on a HP consumer laptop can be very hit or miss, given that it's generally not even thought about when designing these computers.
  2. Business Laptops: I believe you can only get these laptops via http://www.hp.com/. These laptops tend to be designed with durability and more of a value cost structure in mind. The customer is generally assumed to be rather computer savvy and understands fully what the specifications mean and generally how much comparable computers cost. Also, the customer tends to want to buy something that would let them just get things done and stay out of their way. This goes to the customer service as well. While I haven't dealt with HP's business customer service myself, I would be surprised if it isn't on par with IBM's customer support, given that business customers generally are very conscious about what you get for your money, and don't want to waste their time. Of course, what suffers here is the aesthetics. HP's business laptops tend to be rather boring, even ugly. They get the job done well, but that's about all one can say. However, HP business laptops tend to support Linux very well, as they often have most of their hardware from vendors like Intel, who have excellent Linux support.
  3. Premium Laptops (Voodoo): HP has one other class of laptops, and that's the laptop that Voodoo PC makes. On first sight, this seems to be a great enthusiast laptop: designed with both aesthetics and durability in mind, it also has a great set of features. The problem is that Voodoo designs computers for those whom cost is no object, and at the moment, only has a laptop for the MacBook Air demographic. I've also done some searching in the past, and it seems like running a standard Linux distribution on the Voodoo Envy is a non-trivial proposition, especially if one wants to use most of the hardware.

While it seems like they may make a laptop for everyone, there's actually a missing segment in here, and I'm smack dab in the middle of it. At first glance, one might think that this segment is best served by the business laptops, since we tend to be knowledgeable about computers, and want a high amount of value for our money. We are very similar to the people that make the business purchasing decisions and care about many of the same things. The big difference is that we are also consumers, so we do care about aesthetics, which means that while we might buy the business laptop because it's a better value than the premium Voodoo laptop, we really want something that looks as nice as the Voodoo laptop, without the Voodoo premium.

I don't think you'd be surprised at all when I say that Apple seems to get this, and makes laptops that balance the needs of the consumer with those of the computer savvy. Apple doesn't really have a distinction between consumer and business lines; everyone gets the same laptop. (The Pro thing really is more of a performance distinction, nothing more.) While there are plenty of things in the Apple laptops for us geeks to complain about, there's very little in the way of huge issues, and it's amazing how much good support can make up for.

So while I've been contemplating my future computer purchases, and thinking that I might be able to get away from the cult of Mac, it seems that if I want to buy a laptop in the near future, I may not be able to beat the MacBook. Counter arguments are more than welcome. :-)

Rhodes framework - Open Source Ruby based Smartphone development

The Rhodes framework is an open source Ruby-based platform for building locally executing, device-optimized mobile applications. It is similar in concept to MVC frameworks such as Rails, Merb and Camping but much lighter weight (and hence executable on a mobile device) than any of these. Along the way of course, we had to implement Ruby for these device operating systems (iPhone, Windows Mobile, RIM and Symbian).

In general, developer productivity is much higher in Rhodes than writing to diverse native device operating systems and APIs since most of your UI customization can be done in HTML templates (ERB files). Rhodes also provides access to native device capabilities such as GPS and PIM data via an extended set of tags (e.g. <geolocation/>).

These applications are also optimized for interacting with hosted enterprise app (SaaS) backends . That is,  it allows mobile applications to work offline with synced local data by embedding a client for RhoSync. The Rhodes source tree contains sample apps for SugarCRM, Siebel Field Service and Ligthouse.

Rhodes is available for iPhone, Windows Mobile, Research in Motion (BlackBerry) and Symbian smartphones. Support for Android devices will be available by end of February 2009.

I just found out about Rhodes, and it looks crazy cool. While I don't currently have a smart enough phone to play with it myself, maybe they'll eventually make it so the thing can target J2ME. (Or, I'll end up getting a smart phone). Regardless, the idea of writing phone applications in Ruby (or another dynamic language) has lots of charm for me, and I've been idly contemplating implementing a interpreter for some small language so that I can do just that on my phone.

In related news, I got to play with my friend's developer G1 this past weekend, and I like. I'm pleasantly surprised at the size and how well it feels. Perhaps I'll get one in a year or so. (And maybe I'll end up with version 2 at that point. ;)

Deep fryers are dangerous things

Someone (but I'm not naming names) mentioned last night that deep fried Mars bars would be a good idea. Safeway didn't have any Mars bars, but they did have Twix, Baby Ruth, and Milky Way. The verdict is that deep fried Baby Ruth bars are insanely good. And deep fried Milky Way is quite good with french vanilla ice cream. Twix are fine deep fried, but not quite as good, in my opinion.

(And I think Safeway was colluding with our unnamed perpetrator, since we discovered that candy bars were buy 2 get 2 free when we got there.)