Thursday, December 21, 2006

Your New Year's Resolution

ast January I made the first New Year's Resolution of my life--and it was an ambitious one. Inspired by my brother, I resolved to do one pushup and one situp (ok, one crunch) on January 1st. Two of each on January 2nd. Three on January third, and so on. All the way through the end of the year. Three hundred sixty five pushups and crunches on 12/31, and a grand total of 66,795 for the year.

Several of my friends and colleagues joined me.

Well, we're 355/365ths of the way through the year. How did I do?

Very well, if I say so myself. I've missed two days this year--the day before Thanksgiving, and Big Game day (and I later made most of those up). So far, I've done over 63,000 pushups and crunches.

Of course, my body has changed a lot. I don't have huge muscles by any stretch of the imagination, but I have definition like I've never had in my life. My wife is a big, big fan of this resolution!

I also have a tremendous sense of accomplishment. I never had to do anything difficult (even now, it's only about 20-25 minutes a day, and I tend to break it into 2 sessions)--but I've accomplished a great goal. As I said back in January, I wanted to see what I could accomplish through dedication, tenacity, and an incremental increase in effort.

As for my co-workers and friends, I don't think any of them has stuck with it entirely--but they have all changed their exercise program. Even though none is doing 355 pushups with me today, they're all doing something to improve themselves.

The Challenge
This has been a great experience for me. Now, I'm challenging you. Readers. Writers. Members of the blogosphere. Mostly, people whose blogs I read: It's time to think about what you are going to resolve next year. Why not do this one?

Savas and Pirillo: I know you both lost a lot of weight in 2006--maybe you're looking to firm up those newly svelted bodies? Shahar - how about getting the Excel Services team on board? Jim Benson, your cousin Robert sure did a lot of pushups this year; think you can top him next year? Brad Feld, you certainly know a thing or two about athletic goals (50 marathons in 50 states before he's 50), I'm sure you could do this without sweating. Carl Franklin, you think .NET rocks, but did you know that pushups rock? Dan Fay, Joe Duffy, Mark Schmidt, David Gainer: they won't be calling you Microsofties in 2007. Jason Follas, think you can manage 19 pushups the second day of CodeMash? Nick Carr, IT may be dead, but calisthenics are alive and kicking! And of course: Scoble made some big changes in 2006--how about making some more in 2007?

Challenge yourselves. Challenge each other. A pushup a day, that's all it takes. Pass it on.

Disclosure: I don't know most of the people I mentioned above, other than through RSS. As far as I know, you're all completely chiseled, do 500 pushups a day, and would laugh at the idea of doing fewer. No offense intended.

The Advice
I have a couple of pieces of advice for anyone who decides to try it. First, make the "workout" part of your routine. For me, that meant setting my alarm clock ten minutes early to give myself time for pushups and crunches. Getting my pushups and crunches out of the way that early in the day makes it much easier for me; the worst days are the days when I realize that I still "owe" pushups right before bed! Until the last couple of months, it really doesn't take more than 10 or 15 minutes.

Second - involve other people. After I got into this, 5 of my co-workers and friends started, too. We all served to goad each other along (sometimes we "guilted" each other along). But you definitely are more likely to make up missed pushups at the office if there is more than one of you doing it! It wasn't uncommon this year to walk into our office and see 3 or 4 people on the ground doing a set of pushups. Side note--of the six of us, I'm the only one who will be completing the challenge. But, while the other five didn't do 352 pushups this morning, they're all still doing calisthenics every day and are in much better shape than they started the year.

Third - when the numbers get higher, break it up if you need to. I did single sets of pushups until about day 60. Now, I do sets of 75 pushups and about 120 crunches. If I don't have time to do them all in the morning, I'll just do one or two sets, then I'll do the rest during the day. It's easy to find two minutes here and there throughout the day.

Fourth, and most importantly: if you miss a day, don't quit! Ideally, you can make it up later (that's especially easier earlier in the year--it's a bit harder when it would mean doing 600 pushups in one day). Even if you can't make it up, get right back on the horse that next day. Don't let more than one day go by, or you'll fall out of the good routine you established.

What's Next?
Now that I'm nearing my goal, I have to figure out what's next. I still haven't. I may add pullups and chinups to my daily routine, or I may resolve something that involves riding my bike. Any suggestions?

After this week, I'm heading off to Tucson to see my mom and my in-laws, so I'll be offblog for the rest of the year. Happy New Year, and I'll see you on January 2nd (or, as you'll be calling it, "Day Two").

Good luck!

Technorati tags: , ,

Tuesday, December 12, 2006

Grid & Virtualization: Different sides of different coins

  huck Hollis of EMC has some thoughts about Grid and Virtualization in a recent post.

He does a great job of describing the differences between grid computing and virtualization--probably the best I've ever seen:
Simply put, if your application is smaller than a server, then server virtualization makes sense, at least through this narrow lens. Take a computing resource, and dynamically partition it into smaller pieces that increase resource utilization (among other things).

But what if your application is bigger than a server?

One over-simplified view is that this is where grid comes in. How do I get an application (or a combined application) to span multiple servers and act as one?
It's a great summary: when your applications don't need their own servers, run them on part of a server. When they need more than a server, run them in a grid.

The problem is, the techniques involved in accomplishing those are very, very different.

Virtual machines (like EMC's VMWare or Virtual Iron's Virtual Iron) permit the former by allowing you to run several copies of the OS on one machine, effectively partitioning it. The best part about this from the application's perspective is that it doesn't even know it's running on a virtual server--it thinks it has the machine to itself. In other words, the application works without any modification.

But the technical hurdles in making an operating system run on many machines are myriad, complex, and get to the very root of the OS. The technologies that allow virtualization won't lend themselves to grid.

Not only that, but even if someone magically *did* rewrite the OS so it could make 1,000 separate servers run under 1 OS--what application could take advantage of that? Virtually none.

Because unlike apps running on virtual servers, apps that run on many processors (be they in one box or in many boxes) need to be designed that way. And there are very few developers out there who have the technical expertise to design an application that can run on many, many processors simultaneously.

So, are grids and virtualization different sides of the same coin? Well, probably not. They're more like different sides of different coins.

In fact, we have customers who implement their SOA not using virtualization, but using a grid. Got an application that doesn't need a whole server? No problem--let the grid know. It will take advantage of that server by giving it more to do. Got an application that will need 20 servers? Again, the grid can do it.

It's a very different proposition than virtualization--it has its own upsides and its own downsides.

Even though I view the situation slightly differently than Chuck, I still like where he goes with it: Minimum code re-write, common management tools, and ways to deal with data will be very important to users in the long run.

Technorati tags: ,

Photo credit: Tatiana Tsokolova

Friday, December 08, 2006

Welcome Seattleite Readers!

  endmondians as well!

For those of you living in the 425 or 206 area codes, Monday December 11th (which happens to be my second wedding anniversary), is your first chance to get an in-person talk on grid computing for .NET.

Digipede Evangelista Kim Greenlee will be giving a talk on concurrency and software development at the .NET Developer Association Monday on the Microsoft campus.

This will probably be the most expert group of developers that Kim has ever spoken in front of; so why would they be interested in an outsider talking to them about concurrency and .NET?

Well, she's an expert, first of all. And second, she's going to introduce them to the wonderful world of Object Oriented Programming for Grid. When you combine that sort of technology with the .NET expertise that lives on that campus, you're bound to see some great things.

Details for the event are here (Print the invitation! Come early for pizza!).

Technorati tags: , ,

Wednesday, December 06, 2006

Benvenuti lettori italiani!

elcome Italian readers!

Update 2006-12-08 2:55 PST:
Vedo molti ospiti dall'Italia--dove è dopo la mezzanotte--grazie all'alberino del blog dello Stefan. Perchè state utilizzando i vostri calcolatori così in ritardo alla notte? ;-)

This morning I had the honor of participating in my first Italian webcast. Stefan Demetz, CEO of Decatec, had asked if we could support him in giving a webcast on grid computing for .NET. Decatec is a consulting firm that specializes in .NET development. Stefan is a very bright guy, so I was excited at the prospect of helping him.

The details proved to be a bit daunting.

Because I don't speak Italian (although my Spanish is passable), we decided that Stefan would do all the talking. However, because I have a grid of demo machines and a bunch of pre-baked code demos, we decided that I would perform all of the demonstrations. We rehearsed it, and everything went swimmingly.

This morning, however, Murphy's Law took effect.

First: I arrived at the office an hour before the webcast was scheduled to begin (7:00 AM Pacific Time), and I found that I had no internet access. As it turns out, this is a major problem when using LiveMeeting. I scrambled around for a while, rebooting things and getting help from our IT folks. We quickly realized that it was a DNS problem, but it still took awhile to resolve. In the end, I got internet access at 8:03 AM--3 minutes after the webcast had begun! It wasn't a problem for the attendees, because my demos weren't at the beginning of session.

Stefan had written a bunch of slides about grid computing for .NET, and he presented those. When it was time for the demonstrations, I took over LiveMeeting and conducted the demos while he narrated.

Even though I don't speak Italian, I could follow along with what he was saying (he pronounced all of the class names and programming terms in English, and I could recognize many Italian words are very similar to either English or Spanish).

However, here we hit our second glitch. I was listening to the internet audio broadcast of the narration; he was watching my desktop via LiveMeeting. As a result of all of the intrinsic delays, I was hearing audio that seemed to be about 30 seconds behind the action on my screen. So I had to keep my mouse about 30 seconds *ahead* of what I was hearing. For example, if I waited for him to say "Genero un nuovo oggetto" after I created a new object, there would end up being a 30 second lag.

So I attempted to move the demos forward at the correct pace--slow enough to be narrated properly, but quick enough to move along.

Stefan did an absolutely fantastic job of following along. A couple of times he was forced to "fill" a little bit when my pacing was too slow, and he never seemed to skip a beat.

The end of the session featured questions and answers; attendees submitted written questions. Stefan is very well versed in our system and was able to answer most of these, but I wanted to chip in. Again, the language barrier presented a problem--this time, technology had an answer. I had a browser window opened to Google Translate. I copied the questions in there, translated to English, then interpreted what the slightly-garbled result was supposed to ask.

For example, "il server digipeed può essere messo in cluster o load balance ?" translated to "the serveur digipeed can be put in cluster or load balance?", which I took to mean "Can you load balance or cluster the Digipede Server?" (The answer is "Of course, it can be clustered for failover or scalability [but unless you have thousands of agents, you don't need to cluster for scalability]).

In the end, the webcast went great. Stefan introduced Grid Computing for .NET to an entirely new audience, and he provoked a lot of interest (there were many good questions at the end of the session, which always indicates that the speaker was compelling). Thanks for putting up with the difficulties Stefan!

Photo credit: darnok

Technorati tags: , ,

Tuesday, December 05, 2006

HPC in Finance Event Tomorrow in NYC!

All week I've been meaning to write about this, and now it's probably too late. But for those of you who wake up in New York and read my blog first thing in the morning just to see what you should to today, this post is for you!

Wednesday, December 6th, Microsoft is hosting an event called How to Harness the Power of High-Performance Computing in Financial Services at 1290 Avenue of the Americas - 6th floor, New York (that’s between 51st and 52nd street in the Axa Equitable building.

The event will include actual customers who are using high performance computing on Wall Street. There will be a couple of Digipedlians there and several customers--if you want to hear from a user's perspective, this is your chance. They'll talk about how customers are using our product along with Microsoft's cluster operating system (Windows Server 2003 Compute Cluster Edition).

Date: Wednesday, December 6, 2006
Time: Welcome, 8:30; event 9:00 AM to 2:00 PM
Location: Tavern on the Green Conference Room, 1290 Avenue of the Americas - 6th floor, New York (that’s between 51st and 52nd street in the Axa Equitable building)

Register here.

Technorati tags: , , ,