Have you ever noticed that life (in general, and as a developer) seems to be full of surprises? I've noticed quite a few recently, and I think most of them are going to turn out for the best. Let's take a look.

Surprise # 1

It all started with a simple offer of help last year, as CODE Magazine was in its infancy. My background in newspaper publishing (one of several lives before programming), and a desire to see this magazine prosper, led me to get involved behind the scenes as temporary copy editor.

Now, in a twist of fate that has brought me around full-circle to publishing again, here I am in the Editor's seat. (OK, so there isn't really a seat, and it's mostly done on the laptop in whatever seat I can find, but that's kinda beside the point.)

As we begin our second year of publication, we will steadily expand the size of the magazine and broaden the content. Our primary focus will continue to be cutting-edge developer tools and technologies from Microsoft, but not a particular programming language. Whenever possible, we will illustrate the concepts with code samples in several languages ? sometimes Visual Basic and C#, sometimes Visual Foxpro and VB.

The key point is that CODE Magazine, while providing introductory articles on all the new stuff, will try to take you a little bit deeper into the technology and provide insightful and practical examples of how you can benefit from it.

I would love to hear from you about your impressions of the magazine - good or bad. That's really the only way we can properly fine-tune the content to your needs. Send your comments to me at:


(And, don't forget the hyphen.)

Surprise # 2

Have you been surprised lately by an increase in the amount of “stateless” business communication you're doing? I sure have - in fact, I'd say I've moved way past surprised into something more like “stunned.” Let me explain.

Years ago, most business communication was done either in person (stateful) or by mail or telegram (stateless). Unless you were face to face with your subject, you had to wait (sometimes for weeks) to reconnect and resume the discussion. Then, along came the telephone, and everything changed.

Now it was possible to carry on stateful conversations by long distance, where many topics could be discussed, questions posed and answered, and agreements made - all without losing context. You could make a connection and hold on to it, while focusing your thoughts completely on the discussion for the entire time needed. That's what I've known for my entire business career.

Then, along came email, the Internet and stateless business, with a huge dose of “disconnected thinking.” Interestingly, this closely parallels the type of development work I've been doing lately - n-Tier, distributed, Internet, even entire jobs done completely by remote connections.

This massive change became very evident when I was in the final negotiations for this Editor position. It dawned on me one day that all of the discussion, and I mean all of it, had been done by email. This involved about three dozen messages scattered over almost two months. During that entire time, Markus and I never talked in person or on the phone.

Often, I found myself a bit restless, usually after sending a lengthy reply to his questions and posing some questions of my own. When his reply came the next day, or three days later, I had to “reconnect” to the context of the discussion and restore “state,” bringing my disconnected thoughts back into sync.

The same thing happened with negotiations on an upcoming book project (which, appropriately, deals with n-Tier distributed architecture). Again, the entire discussion, from concept to contract, was done without picking up the phone or meeting in person.

This is gettin' to be a habit, so I guess I'd better get used to it. I have noticed some very positive aspects of business-by-email, number one being that email is self-documenting (unless, of course, you manage to lose the entire contents of your Outlook folders, as an unnamed colleague did recently).

Surprise # 3

The Fox is out of the box, and it's ready to run! The subset of our readers who use Visual Foxpro have probably already heard that Visual Foxpro 7 went into its Beta 2 stage in March, and is scheduled for release in late Spring. Along with that announcement came the news that VFP is no longer tied to Visual Studio for its release, marketing and service pack schedules.

That decision makes sense to me, since VFP would likely lose too much of its rich and blazingly fast data-handling capabilities if it were ported to .NET's common language runtime (CLR), at least in the runtime's current state. While a person's perspective largely will determine his interpretation of this news, many in the Foxpro community are excited about it, and are eager to start using VFP7's many new features right away. And, no, this won't be the last version…

This means that, while VFP can still coexist and talk to .NET's framework through COM Interop or Web Services, it is not dependent on it. Those who have seen the private Beta 2 would tell you (if they weren't limited by NDA) that VFP7's Web Services story is a very good one. You'll see for yourself soon enough!