Monday, March 26, 2007

Abaco Nights - The Bahamian Lesson

A page from my Abaco vacation journal:

Mar 23rd

It's such a love-hate affair with these Bahamian breezes.

With the dregs of midnight showers still dripping through the portholes, we blearily switched the VHF to channel 68, waiting for the morning coffee to percolate, and listened hopefully for news of a break in the weather.

It doesn't matter beyond the academic - I'm going home. Time's up.

I've seen so much here that I appreciate - eggshell white sands and raspberry kool-aid waves and boats, everywhere boats, tended to by smaller boats and dwarfed by bigger boats, knowing I was among the crowd where "boat" was at once the single measure of currency and a way of life.

Still, it wasn't a perfect setting.

Weather tempered much of our available sailing time, as towering clouds sprayed up the Atlantic wall; viscious rain gods, with their thirty-knot winds and breaking ocean rollers, they held us fast to our moorings for too many hours.

And at eight in the morning, I was up, lurking around the boat in bare feet, trying not to wake anyone, waiting for the report like a kid at Christmas - waiting for the good news - that there was finally a break in the beating we were taking and I could turn to my crew with satisfaction and say that the beast was slain, that we would emerge from the dark land caves of bollards and AC power cables and be back in it, with anchor chain and sun and swimming - God, give me swimming.

Those clouds, that wind, the rain squalls, they haunted us from anchorage to anchorage, and both the VHF and our own eyes bore witness enough to the consequences - broken anchors, lost dinghies, and boats hard aground, stark and sunken white flakes against lead sky. It still stirs my stomach to think of the grounded sailboat we passed, awaiting the storm - it could have been our twin. She was a Beneteau, rigged like ours, painted like ours. She was us but for a few thousand yards.

Nor were we particularly invincible - it hurts my new, still-soft captain's pride to recall a horrible pullout from the dock at White Sound that involved a snagged anchor, a bent stanchion, a punched-in bollard post, and our boat, wrenched off ninety degrees, out of control. Wind is a menace, and all too often, a mystery that commands my attention in devious, destructive ways.

There was so much to demotivate and depress a guy who just wants to show everyone a good time, almost to seeking out the inevitable conspiracy at the highest levels of climate that had gotten together just to teach this new skipper a lesson.

What a bunch of jerks.
And yet.

It was about one in the morning when I decided to go for a walk on the piers that ringed the south edge of Marsh Harbour.

I passed boats in quiet seclusion, peered down at the strange yellow power umbilicals flapping astern to the beat of the waves, and followed the little umbrella dock lights until I reached the end of the finger pier. From there, the next step led off into the water, black with nightfall.

When I looked out, I saw a field of stars low on the horizon, and so close they beckoned for touch. I sat down and let my eyes adjust, and I could then pick out the little toothpicks they stood on - a swarm - hundreds - hundreds of sailboats anchored in harbor with their white lights on, signaling their sedentary position for the night, picking out and announcing their place in the universe, the white alight, saying "here I am".

Here I am.
And I smiled.

As I've found out time and again, cruising by sailboat is no exact science, and the loose tolerances in the whole human mechanism of the thing often lead to a type of fluid, carefree action; that is what refreshes me so much about sailing and cruising. You go and you stay and you drop the hook as you please, and it's you and your reason and sense to determine what's right for you, your boat, and your crew.

I look back and realize my eyes saw beauty that I didn't recognize until that moment that the man-made stars aligned and showed me the lesson I was waiting all this time to learn. The next step.

Take a chance. Brave the wind. Trust yourself. Strike the light. Say, "here I am".

Sure, it had to be on the last day of the voyage.
But better late than never.

What a beautiful trip.

See the Photos from the Abaco Trip

Labels: , , ,

Friday, March 09, 2007

GDC 2007 - Finished

My work in the City by the Bay is done. Fin. Beendet.

Overall, the workshops I came down to do went incredibly well. These were XNA Game Studio Express Hands-On Workshops: designed for people to sit down with a PC and an Xbox 360 and make a game, following my instruction up on two big screens. Two hours in length, I had originally intended them to go for one hour of guided instruction, then an hour of self-directed exploration.

One hour and one hour. Of course, 50/50 is a concept that always works well on a slide deck. Seeing anything wrong here? Maybe a case of expecting the universe to bend to fit in the little box I made for it because it fits on a PowerPoint slide better?

And, of course, you can convince yourself of anything. I wanted this thing to be an hour. Seriously, I timed it out. Used my little iPod stopwatch and everything. It went one hour. I ran it three times, sitting in my hotel room, annoying my shared-wall neighbor with my endless going on about "Vector3" this and "MathHelper.Lerp" that.

I half-expected to get a note under my door that said:

Dear Mr. Cox, Developer Educator from Microsoft, who is going to teach me all about XNA Game Studio Express (whatever that is): Please stop saying "lerp". That is totally not an okay word to use; it's really creeping me out. -Your neighbor
From start to finish, 65 minutes; I had it down to a science. But like the days of old when our ancestors did their meticulous calculations and forgot to carry the one, I missed a step.

In a rare blast of pure optimism (I'm not used to whatever they put in the water down here), I forgot to apply the first rule of program management: whenever you think you know how long something's going to take, or how much it'll cost - always multiply it by two.

Needless to say, it was about twenty minutes into the first presentation when someone in the front (and God bless him for this) said:

"Hey. Can you slow down?"
Man, did everything change after that. It's a slippery slope when presenting; if the audience loses you once, you run the risk of never getting them back.

Fortunately, I designed the presentation with built-in crumple zones, so I threw the switch and we went to the full two-hour guided tour. I'll say this: after two hours of standing up and coding and talking with no breaks, I am fully convinced of the power of adrenaline.

Knowing the necessary speed going in on the second day, I was amazed at how well the presentation flowed the second time around. We even had a few folks venture out on their own and make their own unique game while I was talking. It was incredible.

Both sessions were completely booked at fifty attendees, two per computer. The energy was great, the questions were thoughtful, and the students even caught my code bugs. XNA Game Studio Express is just one of those big deals that's changing the world, and I'm thrilled to be a part of it.

Thanks to the crew at Microsoft for making this happen, and for those folks (they know who they are) for giving me this opportunity. I suppose we can all wait to see the instructor evaluations, but I think it's safe to say we all made a big impact this week.

See you back in Seattle!

Labels: , , , , ,

Thursday, March 08, 2007

GDC 2007 - XNA Game Studio Express Sessions and Feedback

If you're an XNA Game Studio Express user or an GDC 2007 XNA session attendee, let me ask you a favor.

XNA Game Studio Express has hit something pretty huge. Today's workshop session was packed, and tomorrow's repeat session is shaping up to be similar.

People want to make games. Whatever makes it easier for them is a big plus. The word I've been getting after my first session was along the lines of "Wow, this is great stuff, XNA Game Studio Express is making game development much easier."

Good - Phase I accomplished. Now, I and the combined XNA Game Studio Express documentation and education teams are looking for ways to make it even easier, through tutorials, great reference documentation, samples, and more.

Some of this work is already making its way to the new creators.xna.com website (check out the samples, video tutorials, and more!), and of course, the product documentation continues to be updated and expanded with more examples, tutorials, and reference documentation.

While it's looking like today's session did good for the attendees, I want something back: specifically, feedback on our current education efforts.

What's hard to learn with XNA Game Studio Express? What doesn't make sense? Where did you get stuck? Comments, please!

Labels: , , , ,

Tuesday, March 06, 2007

San Francisco, Day 0

10:11 AM

I've been in this airport fifteen minutes and I'm already in a cubicle. They've taken to stripping out all of the power ports around the airport and consolidating them in for-rent cube farms, paid by the minute.

So I rented one. There's even a little hanger for my jacket.
The staffer on duty is courteous and smiling.
"Can I bring my coffee?" I asked her.

I want this cube to be darker - I'm switching off all the harsh fluoresecence I can find around the tiny room, but there's no roof; no matter how hard I try, there's no skipping off the surface of the reality that I'm in a crowded, busy human transportation hub.

Fine. iPod time. A thought: The airport could catch on fire, I'd never know it. A shrug: Acceptable risk.

I'm in a warm coccoon of sound. Nobody is snoring next to me. No babies are crying. No humans exist but me. Well, me and Howard Jones, and he's singing just for me, so we're cool.

Irrespective of whether or not the 'pod-inspired New Selfishness movement is ultimately bad or good for our human race, it sure does wonders for an only child.

Labels: , , ,