Copyright © 2002 by Microsoft Corporation
To Silvia, Francesco, and Michela. To all the people I love. To all the people of Sept 11th. To the Afghan people and children.
“Keep it simple. As simple as possible. But no simpler.”
Microsoft Windows has always played a key role in my life. For a time, I was suspended between the black screen of MS-DOS and the bright colorful screen of that other tempting new operating system. However, when it became clear that I needed to program computers for a living, I suddenly made up my mind and choose Windows as my operating system. And so it is to this day.
There’s an invisible thread that ties Windows releases and the significant events of my life. I was married to Silvia in 1995, one month after the release of Windows 95. Our first baby—a boy, Francesco—coincidently arrived at the same time as the release of Windows 98. My wife and I were signing the contract for our first house when Microsoft shipped Windows 2000. And what about .NET? I received the announcement of this new platform as I was jumping for joy at the news that our second baby was on the way. Our baby—a girl this time, Michela—arrived while I was digging into the intricacies of the first beta of Visual Studio, and psychologically preparing myself for the arrival of the beta 2 T-storm.
The first years of my Windows career were spent discovering the programming world that was all around me. Like a child learning to walk, I hesitated and wobbled with every step. When working with Windows SDK, I experienced uncontainable joy when a function call worked and the deepest depression when a button click got lost in the maze of Windows messages. During all this time, which was only a couple of years but felt like a lifetime, I felt as if there was a man watching over me (figuratively speaking). That man is Charles Petzold. It was a dream of mine to one day meet him and shake his hand. My dream came true, but we met under unusual circumstances. I met Charles Petzold in the kitchen of a Swiss restaurant in Davos while I was chopping onions. Please, do not misunderstand me; read on before you start laughing. You may mistake me for a prep cook, but I’m not the only one!
In the same kitchen, in fact, Charles was cutting meat with Kyle Marsh (Mr. Windows XP), while Francesco Balena (Mr. VB2TheMax) and Doug Boling (Mr. Windows CE) were preparing roulades. Like a background thread, a rather sneaky Jeffrey Richter (Mr. Advanced Windows) was taking pictures of us at what was actually the speaker’s event of the WinSummit 2001 Conference. By the way, the conference was a great show and if you weren’t able to make it, you can check it out at http://www.winsummit.com.
I can’t help but mention Charles for two reasons. With .NET, our internal clock has been moved several years back to a time when Windows programming was largely an unexplored jungle—yes, a kind of Jurassic Windows—where Charles was an early explorer. The .NET Framework documentation looks like the online counterpart of that hefty paper-based tome—Windows SDK documentation. Right now it’s really hard to know everything about .NET Framework. Who knows if there’s a class that does that particular thing you have been struggling with? Another reason why I think of Charles while writing the credits for this book is that he lives in New York and his wife was the first person to describe what was happening to the people of New York on September 11th and the smell of the smoke and burning rubble, the dust and debris that covered the city.
It was early afternoon in Rome, and I was working on DataGrid’s in-place editing (Chapter 4) and listening to the radio. At first the hysterical sounding radio announcer reported bits and pieces of the event that were hard to make sense of. To find out what was going on, I dropped an e-mail to Josh Trupin—the technical editor of MSDN Magazine who works in Manhattan. I was terrified with his very concise description of events, which I received a few minutes later. From his description, it was as if he were writing this e-mail straight from hell. The story of the making of this book intersects with these tragic events on that September morning.
Behind each and every book there is a team of people whose contributions determine the final result—that numbered pile of paper you hold in your hands. I have three outstanding names with faces that I’ve never seen because we always passed our bytes over the Internet bridge that connects Europe and the United States. A monumental Thank You goes to my editors, Lynn Finnel, and Victoria Parker Thulman, and to my technical editor Mark Bukovec. They did an excellent job straightening out the wrinkles in my original text. You’re seeing only the final output and will never know the importance and the dimension of their work. I want to especially thank David Clark, the acquisitions editor and the main person responsible for this book.
Some of the examples in this book come directly from that sort of nebulous entity commonly referred to as the real world. To date, I have a little database with about two hundred ideas, suggestions, tips, and tricks e-mailed to me from readers of my articles. The most educational and the toughest of these problems and examples found their way into this book. Others will be published through a variety of channels—including the Wintellect and VB2TheMax Web sites, as well as my regular columns in MSDN Magazine, MSDN Voices, and the newest—asp.netPRO magazine. Keep ideas and suggestions coming—this book is also yours!
The book touches on areas of ASP.NET and ADO.NET that the official documentation does not yet fully cover. Several times I asked for help from a circle of Windows intellectuals (wintellectuals, for short), who all have very high IQs—or at least this is what their ad says :-). I had productive exchanges with John Lam, Jeff Richter, and Jeff Prosise. I’ll be grateful for eternity to John Robbins who revealed a brand new world to me when he said, “Hey Dino, why don’t you test your ASP.NET code with debug=true?” From that moment on, the project became so easy.
Francesco Balena was the first human being to instill in me the doubt that DataSets and ASP.NET might not always be very close friends. The rub though was that he started this very interesting and lengthy discussion over the phone, which was great except for the unfortunate fact that I was in Rome, and he was in Stockholm and I was paying for the call, and we were to meet face to face in just two days. The connecting power of .NET comes at a price!
Although my name is the only one to appear on the cover, my children contributed a lot! We spent nights sitting together in front of a laptop (instead of sleeping—a more productive and relaxing activity). When I said to my four year old, Francesco, that the book was finished, he said, “Dad, when are we going to write another one? Can I have my name on the cover too?” No such demand came my way from Michela—who’s only one year old. She limited her contributions to the destruction of a couple of mice and made repeated attempts on my laptop keyboard. She also has an appetite for Visual Studio .NET CDs. But all in all, this book has a very happy ending.
—’til next book