Developing Applications with Visual Studio. NET

Paperback (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $1.99
Usually ships in 1-2 business days
(Save 96%)
Other sellers (Paperback)
  • All (13) from $1.99   
  • New (1) from $58.77   
  • Used (12) from $1.99   
Sort by
Page 1 of 1
Showing All
Note: Marketplace items are not eligible for any coupons and promotions
Seller since 2008

Feedback rating:



New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.


Ships from: Chicago, IL

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Page 1 of 1
Showing All
Sort by


The Visual Studio.NET book every Visual C++ developer has been waiting for!

Practical, substantive, meaty .NET solutions for experienced Windows developers.
Covers SOAP, Managed C++, WinForms, Web Services, ATL Server, and much more.

By best-selling author and legendary COM/ATL guru Richard Grimes! This is the.NET book C++ developers have been waiting for: a meaty, practical guide to Visual Studio.NET programming from one of the world's leading authorities on Microsoft development. Best-selling COM/ATL author Richard Grimes begins by reviewing the fundamental concepts that underlie the .NET Runtime, including managed vs. unmanaged code, garbage collection, the Microsoft Intermediate Language, type information, and metadata. Next, Grimes introduces the .NET Class Libraries -- first at a high level, and then with far greater detail about the libraries that will be of greatest value. Grimes covers contexts and remoting, introducing serialization, marshalling, channels and SOAP, and the role of Web services as an interoperability mechanism. Once readers are solidly grounded in .NET, Grimes turns to Visual Studio.NET: its facilities, tools, and project structure, ranging from project management issues to Web discovery. In Part III, Grimes offers comprehensive coverage of using Visual Studio.NET to build advanced applications. He presents detailed coverage of managed C++ written for experienced C++ developers; a thorough walkthrough of C++ development with WinForms designed to help developers migrate from Win32; extensive coverage of Microsoft's ATL Server and web application/service development; and finally, a full chapter on debugging. For every experienced Windows developer familiar with Visual C++.

Richard Grimes is an independent consultant on COM, ATL, and .NET who has built a reputation as one of the world's leading COM experts. He is author or co-author of at least seven books, including ATL COM Programmer's Reference, ATL Programmer's Resource Kit, Beginning ATL 3 COM Programming, and Professional ATL COM Programming. He is currently an instructor with DevelopMentor.

Read More Show Less

Editorial Reviews

From Barnes & Noble
The Barnes & Noble Review
Richard Grimes has gone deep into the heart of .NET development and lived to tell the tale -- in Developing Applications with Visual Studio .NET. This legendary Windows developer mastered .NET the hard way: by writing hundreds of test applications, stepping through them with debuggers, and poring over pseudo assembly language code with the Intermediate Language Disassembler. He never takes the official documentation's word for it -- which is super helpful where no documentation exists!

Writing for experienced C++ Win32 developers, Grimes begins with an in-depth introduction to the .NET runtime -- including the role of assemblies and metadata. Next, he introduces .NET's crucial Framework Class Library, which is in some ways profoundly different from the Win32 API, in other ways deeply familiar (some parts are merely wrappers over Win32; maybe Microsoft didn't have time to reconceive them).

You'll find in-depth coverage of contexts, remoting, COM/COM+ interoperation, and (when you're ready to appreciate it) the Visual Studio.NET environment. There's a full chapter on Visual C++.NET, which Grimes considers the most flexible .NET language; start-to-finish coverage of creating, constructing, and deploying solutions; and detailed debugging coverage (for managed and unmanaged code). Simply an outstanding resource. (Bill Camarda)

Bill Camarda is a consultant, writer, and web/multimedia content developer with nearly 20 years' experience in helping technology companies deploy and market advanced software, computing, and networking products and services. He served for nearly ten years as vice president of a New Jersey–based marketing company, where he supervised a wide range of graphics and web design projects. His 15 books include Special Edition Using Word 2000 and Upgrading & Fixing Networks For Dummies®, Second Edition.

From The Critics
Two framework developers introduce a patterns approach to framework development, demonstrating useful techniques and solutions for successful framework development. Suitable for the proficient object- oriented programmer. Includes two valuable appendices: a section on frameworks and components and the IBM San Francisco frameworks development process. Annotation c. Book News, Inc., Portland, OR (
Read More Show Less

Product Details

  • ISBN-13: 9780201708523
  • Publisher: Addison-Wesley
  • Publication date: 2/11/2002
  • Series: Developmentor Series
  • Pages: 832
  • Product dimensions: 7.50 (w) x 9.25 (h) x 1.75 (d)

Table of Contents

1 .NET Runtime 1
.NET Features 2
Types 20
Other .NET Features 41
Packaging and Deployment 88
2 Framework Class Library 129
The Win32 API 130
Framework Class Library 136
The Core Library 136
GDI+ and Windows 204
Other Framework Class Library Classes 234
3 Contexts and Remoting 259
Contexts 259
Serialization 280
Remoting 290
Web Services 323
Asynchronous Programming 338
4 Interoperation and COM+ 347
Interoperation 348
COM Interop 388
Component Services 425
5 Visual Studio.NET Environment 441
The Visual Studio Environment 441
Projects and Solutions 453
Configuring Code 463
Editing Code 478
Searching and Browsing Code 490
Tools 499
6 Creating and Building Solutions 509
C++ and C# Project Types 510
C++ Classes 522
C# Classes 530
Enterprise Template Projects 536
Server Explorer 543
The Build Process 546
Deploying Solutions 550
7 Visual C++ .NET 561
ATL 561
Managed Extensions for C++ 587
Using Managed Code in Unmanaged Code 626
8 Application Development 633
Developing Components 633
Developing Controls 636
Resources and Internationalization 657
9 Debugging 679
IDE Tool Windows 679
Using the Debugger 704
Index 747
Read More Show Less


.NET is a whole new way to program. It has taken me a while to get used to using it, but now I feel that .NET is the future of developing code. The two main features that .NET brings are the runtime and the Framework Class Library. The runtime executes all .NET code and provides a secure environment. The Framework Class Library is available to all .NET code regardless of the language that is used to create that code. The library is a culmination of all the libraries that Win32 developers are accustomed to using, and some APIs are provided through a new paradigm, but others are mere mirrors of the Win32 APIs that they replace. The significant point is that all of the APIs are accessed in the same way, so the application developer no longer has to learn multiple ways to access libraries (DLL exported functions, class libraries, template libraries, COM). The intention is to put more focus on using the APIs than on accessing them.

I have spent a considerable amount of time determining how .NET works and how the various classes in the library are related. On occasion it was a joy to see how .NET had provided a new API that put more power in the hands of the developer, and on a few occasions I was frustrated to see that .NET had provided a solution that reduced the facilities offered to the developer. In this book I want to give you the benefit of my odyssey through .NET. I will enthuse when .NET does it right, and I will tell you straight when .NET does it wrong.

One thing is clear: .NET is here to stay. Expect in the future that Microsoft will put more and more emphasis on .NET. Your future as a developer will be intimately entwined with .NET, and by becoming familiar with .NET now,you'll ensure that you'll be ready for whatever Microsoft decides to release in the future.

Intended Audience

I have deliberately decided to target C++ Win32 developers. This book has no VB.NET code and only the barest minimum of ASP.NET. If you want to develop in VB.NET, or you want to develop Web applications with ASP.NET, there are other excellent books that will suit you better than this one.

I also make no excuses about the fact that this book is packed full of details, and in places it touches on tough concepts. I have worked hard to glean the information that I present in this book. I didn't have access to privileged knowledge. What you see here is the result of writing many hundreds of test applications, of pouring over IL generated with ILDASM, and of single-stepping through code with the .NET debuggers. Where I present code, you can be assured that what you see is code that I have written and tested. When I describe how an API works, you can be assured that I have determined that behavior by actually trying out the code. I have worked hard to write this book, and I expect you to work hard as you read through it. That way you'll have the enlightening learning experience that I had.

What to Expect

My intention when writing this book was to give you a grand tour of developing applications with Visual Studio.NET. As with all grand tours, you have to do a lot of preparation before you can start. For this reason the book is split into three parts: The first four chapters describe the .NET Framework, Chapters 5 through 7 describe the tools in Visual Studio.NET that you can use to develop applications, and Chapters 8 and 9 explain how to develop and debug applications.

The chapters follow a logical progression from a basic description of the .NET Runtime, through a description of the framework and the tools to develop .NET executables and libraries, to developing applications with the Visual Studio. NET design environment. I made a deliberate choice to leave an introduction of Visual Studio.NET until Chapter 5 because much of the development that you can do with .NET can be done with a simple text editor like Notepad (indeed, I urge you to use Notepad as you work through the first few chapters). However, at the point that your project grows larger than a handful of files, at the point that you move away from trivial resources and XML files to use more real-life files, you'll start to realize that you need a more accomplished editor and tools to help you develop your application.

It is at this point that you'll need to use Visual Studio.NET. If you use VS.NET before you've gone through the details of .NET's facilities, you won't appreciate the tools that VS.NET provides. I also want to give you the impression that there is a life beyond wizard-generated code.

The following is a brief description of what to expect in the chapters of this book.

Chapter 1: .NET Runtime

In this chapter I start exactly where I should: right at the beginning with a description of the .NET Runtime. The runtime executes all .NET code, so in this chapter I describe the basic concepts of the runtime and how it locates and runs code. I describe the languages that you can use and various .NET features used to generate events, to provide error information, and to access code outside of the current code module. Then I describe the .NET facilities for adding type information to a code module, and how you can add custom type information. Finally, I explain how code is packaged and the new mechanism for locating and loading that code.

Chapter 2: Framework Class Library

I use this chapter to give an overview of what I consider to be the "core" library. The framework library is available to all .NET languages and can be considered to be a culmination of the various APIs that Win32 developers are accustomed to using. The Framework Class Library contains many classes, and I have chosen to explain just a few. These are the classes that you are most likely to use--the classes without which you are unlikely to be able to do any .NET development.

I explain threading, basic input/output using streams to files and to the console, the debugging classes, and collection classes. Once I have made the foundation with the fundamental classes, I follow up with a description of the user interface classes to allow you to create windows and draw in those windows. Finally, I describe what I call the "other" classes. Strictly speaking, they are not core classes, but they are important for application development, so I give an overview of these classes and how to use them.

Chapter 3: Contexts and Remoting

.NET provides a new level of code isolation: application domains, which I introduced in Chapter 1. In this chapter I explain how code in one application domain can access code in another domain: .NET remoting. .NET defines an idea called context--domain membership is one property of a context--and .NET needs to take special action to allow calls to be made across contexts. I explain how cross-context calls are made and how you can change the way that .NET manages these calls.

This chapter explains in detail how .NET remoting works, the types of objects that can be accessed remotely, how long they live, and the security aspects of accessing those objects. Finally, the chapter has a description of asynchronous programming, including how exceptions and return values are handled when a call is made asynchronously.

Chapter 4: Interoperation and COM+

Interoperation is required to allow your .NET code to access native code. In this chapter I cover all aspects of interoperation from accessing DLLs, through Platform Invoke, to accessing COM and COM+ components. I start by describing how Platform Invoke works and contrast this to how you can access native C++ code from managed C++. I also explain marshaling non-simple types, how exceptions are handled, and "unsafe" code.

In the second half of the chapter I explain how interoperation with COM and COM+ is achieved. .NET provides tools to allow you to use COM objects in .NET code and to use .NET objects in COM code. I show you how to use these tools and describe how COM concepts like events, aggregation, and registration are achieved. The final part of the chapter explains the .NET classes that allow you to write COM+ classes.

Chapter 5: Visual Studio.NET Environment

By this point in the book you should have a good grounding in the facilities that .NET offers and the classes that you can use. In this chapter I introduce you to the facilities in Visual Studio.NET that you can use to develop .NET code. I start with a general description of the user interface: the various windows and toolbars that are provided. I then give a brief description of the code-generating wizards and the UI features of VS.NET that you can use to change the code that is generated.

In the latter half of the chapter I explain how to manage your code and the tools that you can use to search in your code and to get help. Finally, I explain the Toolbox and how to use external tools.

Chapter 6: Creating and Building Solutions

In this chapter I look in detail at how you create and build solutions. A solution is a collection of projects, and a project contains source files that are compiled to create an output. I start this chapter by explaining the various project types that you can add to a solution and the various classes that you can add to those projects. Following the general theme of this book, I explain only C++ and C# classes, but I do include a description of the C++ projects that create native code.

In the second half of the chapter I explain how to build and deploy solutions. I describe how to start a compilation, and how to customize it. I also explain how you can deploy the outputs from a solution and the various project types that are provided to do this.

Chapter 7: Visual C++.NET

C++ is the most flexible of the .NET languages. Visual C++ allows you to develop both native and managed code, as well as a mixture of the two. I start this chapter by describing the new features in ATL, beginning with a description of Visual C++ attributes and an explanation of how these help your development. Then I explain ATL Server, which is used to write ISAPI extensions for Web applications and Web Services.

The rest of the chapter is concerned with managed code, and I explain how managed C++ differs from native C++ in declaring classes and in handling interfaces, arrays, and strings.

Chapter 8: Application Development

This chapter is concerned with two main subjects: developing UI controls and forms, and localizing resources. In the first half of the chapter I explain components and controls and lead you through the process of developing a control that is integrated with the Visual Studio.NET Toolbox and Properties windows. In the second half of this chapter I describe .NET resources and how you can use the Visual Studio.NET tools to create localized resources.

Chapter 9: Debugging

After you have designed, written, and built your application, the next step will be to check that it does what it is designed to do, and to correct code that is in error. That is, you will have to debug your application. Visual Studio.NET allows you to debug both native and managed code, and even to step from the managed to the unmanaged world and vice versa. In this chapter I explain all the facilities that you can use to debug your code: how to set breakpoints, how to use the debugging windows, and how to debug more than one process.

Read More Show Less


My aim is to put down on paper what I see and what I feel in the best and simplest way.

—Ernest Hemingway

September 11, 2001

During the late 1980s and early 1990s, I made several business-related trips to Japan to work with some of the leading computer companies in the country. One of those trips took place in early December 1991; at the end of a long, busy work-week, I awoke in my Tokyo hotel room on a Saturday morning, and realized with a shock that it was December 7th.

December 7th—a date, as my parents had been informed by a somber President Franklin Delano Roosevelt, that would forever live in infamy. And this was not just any run- of-the-mill December 7th, but the 50th anniversary of the attack on Pearl Harbor that launched America into the second World War. I am one generation removed from that event, and was not even born when it occurred; but I couldn't help feeling tense and nervous as I left my hotel room to stroll around the streets of Tokyo on that quiet, gray

Saturday morning. How will people behave? I wondered. What will they say to me? How will I respond?

I tried to anticipate a number of different attitudes and interactions from Japanese citizens that I expected to encounter in the hotel lobby, on the streets, and in the shops. I anticipated seeing thoughtful editorials in the newspapers, and earnest spokesmen on the television news programs; and I tried to sort out my own feelings about a date that had taken on mythic proportions throughout my entire life. But the one attitude and reaction that I did not expect, and that I saw consistently throughout the city of Tokyo that day, was: nothing. Noremorse, no belligerence, no moment of quiet reflection, no jingoistic speeches of pride for the Japanese military forces, no mention whatsoever. Nothing. Nada. Zip. Everywhere I went, I was surrounded by a young generation of earnest, well-groomed, polite Japanese men and women who were completely preoccupied with the day-to-day tasks of shopping, or taking their children to the park, or (as they do so often in Japan, even on Saturday) hurrying into their offices to put in a full day of work. Pearl Harbor, for all its significance to me, apparently meant nothing to them.[1]

And perhaps a grandchild of mine, 50 years from now, will have the same experience—and perhaps that experience will be magnified, as it was for me, by the unexpected coincidence of celebrating the 50th anniversary of September 11, 2001 on the streets of Kabul or Kandahar. But as I write these words, just a few short weeks after the attack on the Pentagon and the World Trade Center, it's hard to imagine that anyone could ever forget the horror, and also the significance, of that Tuesday morning in New York City and Washington. It was, as Obe Wan Kenobee remarked in the original Star Wars movie, when he sensed that one of the rebel planets had been obliterated by Darth Vader's Death Star, a “disturbance in the Force.”

More than just a disturbance in the Force, September 11th represents a paradigm shift—a fundamental transformation in our understanding of how things work, and why things happen. Part, though by no means all, of that paradigm shift will involve the field of information technology (IT); and the details of the IT paradigm shift are the subject of this book.

The paradigm shift

The term “paradigm shift” was popularized by the late Thomas Kuhn in a classic book, The Structure of Scientific Revolutions. My Microsoft Word dictionary says that one of the definitions of “paradigm” is “a generally accepted model of how ideas relate to one another, forming a conceptual framework within which scientific research is carried out.” And a paradigm shift occurs when the existing framework requires so many exceptions and special cases, and when it fails to address so many important problems, that it literally collapses under its own weight and is replaced by a new, simpler, more persuasive paradigm.

It's reassuring to know that, in the aftermath of September 11th, the paradigms of the physical sciences, which we all learned in high school and college, still seem intact; even though I feel disoriented and confused much of the time these days, I know that the law of gravity still holds. Indeed, even though most of us were so astounded by the real-time experience of watching the World Trade Center collapse that we whispered, in awe and terror, “This can't be happening!”, the architects and engineers who replayed those awful videos over and over again have convinced themselves that the buildings did obey the laws of physics and thermodynamics—and that, in many ways, they did exactly what they were intended to do, when subjected to a sudden and catastrophically violent shock.

But in addition to paradigms of physics and astronomy and mechanical engineering, there are also business paradigms and political paradigms and social paradigms that we've become accustomed to. And those political/social paradigms have a great deal of influence on the plans, strategies, and—without meaning to overuse the word completely—the paradigms of the information-technology (IT) profession to which I've devoted my career. Those paradigms have indeed shifted; and while we may need to wait for several more months or years before our politicians and philosophers can understand and articulate the quantity and quality of the social/political paradigm shift, we should start doing our own thinking about the IT ramifications.

For example: Many of us were gratified by the success of the ad hoc communication networks that were stitched together by desperate family members and business colleagues in the hours immediately following the WTC attack; they were grass-roots, bottom-up, and emergent (as opposed to pre-planned, and hierarchically managed) in nature. Independently of what corporations and their IT departments might plan, by way of an effective post-9-11 environment, I firmly believe that individual citizens and corporate employees will put more and more faith in these ad hoc networks in the coming months, as they continue to cope with the sluggish, ambiguous, contradictory, and sometimes untrustworthy flow of information from “official” channels.

If things like this were only taking place at the individual level, it might not be worth writing about. But it's not just individuals, and not just corporate IT departments, who might be thinking about such issues: the military is taking it seriously, too. In an article by Leslie Walker entitled “Uncle Sam Wants Napster!” (Washington Post, Nov. 8, 2001), we learn that the Pentagon is looking at peer-to-peer (P2P) file- sharing and collaboration tools like Napster and Groove— not because they want to download pirated music, but because the classic top-down, hierarchically-developed communication systems often turn out to be incompatible (e.g., Navy communication systems can't talk to Army communication systems), and too cumbersome to cope with the chaotic, fast-moving world of terrorist warfare.

If this is relevant for the military community, could it be relevant for corporate IT environments too? And even if corporate executives think it isn't, is it possible that their front- line workers—the sales reps, and field-service technicians, and work-at-home telecommuters—might disagree? Is it possible that the urgent, time-critical need to communicate will cause them to completely abandon and ignore their company's high-security, firewall-protected email systems, and resort instead to SMS-messaging on their cell phones, and AOL instant messaging on their Palm Pilots? Even if it's against company policy, is it possible—perhaps even likely—that they'll do it anyway? And if they're going to do it anyway, because they believe they absolutely have to, does it make sense for companies to design their systems to support ad hoc, emergent, P2P communications in the first place? Apparently, the U.S. Defense Department thinks it's worth considering; perhaps other companies should, too.

In addition to thinking about communication networks, there are numerous other paradigm shifts that IT organizations will have to accommodate in the coming years. For example, within a week after September 11th, IT industry journals reported that Ford Motor Company was seriously rethinking the lean inventory system that its IT organization worked so hard to enable;[2] after all, the likelihood of chaotic disruptions necessitates a more resilient supply chain, with more “buffers” and more inventory. In the weeks since then, I've heard about numerous other companies which are also re-thinking their inventory systems, and re-thinking the assumptions upon which their entire supply chain is based.

Similarly, the whole notion of globalization is being called into question: If tensions increase and various parts of the world become more hostile and isolationist in nature, it might be far too risky to present a homogeneous corporate image in a hundred different countries. But if there is a strong move, within today's multinational companies, towards autonomy and heterogeneity, what does that imply for the integrated Enterprise Resource Planning (ERP) systems that our IT organizations have been grappling with for the past decade?

Interestingly, some of these paradigm shifts were already underway before September 11th; after all, terrorism was already a fact of life, and many corporations were already concerned about security. And beyond the obvious and direct threat posed by terrorism, more and more companies have been realizing that change—competitive change, regulatory change, technological change, market-preference change, etc.—is occurring at an ever-increasing speed, and in ever more disruptive forms. To cite just one non-terrorism example, consider Napster: Without any warning or fanfare, one individual college dropout was able to create an Internet-based music-sharing technology that threatened to wreak havoc upon the mammoth music industry.

Napster and the September 11th terrorists share a characteristic that corporations and government agencies are likely to see more and more often in the future: disruptive threats caused by “stateless actors,” whose technology makes them disproportionately powerful. In the past, nations expected to face threats from other nations; corporations expected competition from other corporations. But now, if the official reports are accurate,[3] a handful of individuals, armed with box-cutters and funded with less than a million dollars in “seed money,” has managed to wreck four commercial airplanes and cause over a hundred billion dollars in physical destruction. And one college student, whose only objective seems to have been the achievement of a “cool” technology for sharing music with his friends, nearly brought the recording industry to its knees. This is indeed a new world.

As it turns out, Napster has probably been put out of business by the legal counter-attack posed by the recording industry; but the battle may go on for years into the future, as rebellious teenagers use Gnutella, LimeWire, and a dozen other derivative technologies to circumvent the “legitimate” practice of buying CDs and tape cassettes in stores for their listening pleasure. As for the World Trade Center attack: The President, the Secretary of Defense, the Secretary of State, and numerous other high officials have told us that we are engaged in a war that will go on for years, and possibly decades. The established order of things has been upset by new paradigms, and we're being told that we should expect them to continue being upset for years into the future.

There is one other aspect of the paradigm shift that is exemplified in a particularly stark fashion by the World Trade Center attack, but also by the Napster phenomenon and many of the other disruptive changes we're facing today: The war is no longer “over there,” it's here. In the past, our military forces expected attacks upon the United States to emanate from other parts of the world—e.g., in the form of Russian ICBM missiles flying over the North Pole to attack us via Canada, or by enemy submarines popping up in the middle of the Atlantic and Pacific Oceans and lobbing missiles at our cities. Meanwhile, our publishers typically expected their copyright threats to emanate from China, or Russia, or Third-World countries where copyright laws were ignored, or flouted openly. But Napster was created by an American student at Boston University; and the World Trade Center, along with the Pentagon, was attacked by commercial U.S. airlines piloted by individuals living in the U.S. on student/tourist visas.

IT will be one of the likely battlefields of the future

The battlefield between Napster and the recording industry was the courtroom; and, as this book is being written, the battlefield in the war against terrorism exists largely in Afghanistan. But in a larger sense, information technology (IT) is the battlefield upon which many of the conflicts are likely to be fought in the next several years.

Some of these conflicts will be obvious and direct, in terms of their association with IT; “cyber-warfare” is the catch-all term that's being used to describe various forms of hacking, viruses, physical attacks on computer centers or the Internet backbone, etc. In some cases, the attack may not be on the computers per se, but on the ability of computer systems to support such critical functions as telephone switching centers, stock-market trading systems, air-traffic control, etc.

It's also important to realize that IT is involved indirectly in almost every other aspect of hostility we're likely to face in the coming years—including the “hostile competition” that private-sector organizations face, even without the terrorism associated with September 11th. One of the stumbling blocks in implementing a more comprehensive air- travel security system, for example, is the lack of adequate information systems to identify potential terrorists before they get on the airplane. And one of the concerns that the health-care community has, in the face of potential anthrax/ smallpox attacks, is that it lacks the kind of real-time tracking systems that UPS and Federal Express use to monitor the movement of packages through their organizations.

On a somewhat more subtle, philosophical level, information technology determines the degree to which we live in an “open” versus a “closed” society. It may seem overly melodramatic to suggest that the September 11th attack launched a war between the “open” society of the United States and the “closed” society of the fundamentalist Taliban movement. But it definitely is true that a large dimension of the American response to that attack has been a reassessment of the very openness that allowed terrorists to enter the country and board civilian airlines with little or no trouble. Now we find ourselves discussing and debating such questions as: what information does the government have a right to know about citizens and visitors to this country? What information is it obliged to disclose, when it monitors and eavesdrops upon citizens and visitors, and when it arrests them for suspected terrorist activities? What information are citizens allowed to access and publish on the Internet? What rights do we have to encrypt the private messages we wish to send our personal friends and business colleagues? What obligations do our banks, our hospitals, our tax-collection agencies, and numerous other private-sector and public-sector organizations have to maintain the security and privacy of personal information they collect about us?

Obviously, questions like these are not going to be answered exclusively by IT professionals or computer companies like IBM and Microsoft. On the other hand, IT professionals are likely to have a more realistic assessment of the feasibility and practicality of various privacy and security policies and regulations being contemplated by government authorities. Furthermore, government and the legal profession tend to be reactive rather than proactive; and their time-frame for reacting to problems and opportunities is measured in months or years. Meanwhile, the private sector—and, in particular, the high-tech startup companies in places like Silicon Valley—is proactive, opportunistic, and fast-moving. If you're concerned about issues of privacy and security, you'd better start talking about it with IT professionals now, because companies like Microsoft and Sun and Apple are likely to do something tomorrow to exploit whatever opportunities they see available.

1 What Assumptions Does

the Book Make About You?

As you may have gathered from the comments above, this book discusses the impact of September 11th on the IT profession. As such, I assume that you, gentle reader, are involved in, affected by, or interested in the IT-related aspects of the terrorist attacks, and whatever consequences flow from those attacks. I can't imagine that anyone would not be interested in this perspective—but I'll admit that I'm biased, having worked in the IT field for over 35 years. I realize that there is more to life than computers, and that some people will prefer to focus on other aspects of the post-9/11 world—e.g., the economic, military, social, or religious aspects, as well as the possibilities of bio-terrorism, chemical and nuclear attacks. The fact that I don't dwell on these other areas extensively in this book does not mean that they should be ignored or de-emphasized; it simply means that I'm going to focus my comments, in this book, on the areas I know best.

While I do assume that you have a significant degree of interest and concern about IT-related aspects of the war on terrorism, I do not assume that you necessarily have the power or authority to change the situation in your company or your community. Obviously, if you're a “C-level” officer in a company (CEO, CIO, CTO, CFO, etc.), you do have such power; and if you're a mayor, a city-council member, a state legislator, or a governor, you can exert some degree of influence on public policy. But most of us barely have enough power and authority to influence our own lives, and that of our family and immediate friends; so why bother talking about cosmic issues and significant changes that are likely to take place in the coming years?

Well, even if you're only a humble citizen, you can still vote. And even if you're only a humble employee in a large bureaucratic organization, you can vote with your feet. If you don't like the way our public officials are responding to the high-tech and low-tech terrorist threats, you can vote for someone else at the next election. And if you feel that your company's senior executives are ignoring the threat to their IT infrastructure, you can look for a job in some other better-prepared and better-managed company.

Obviously, your single vote is unlikely to sway the outcome of an election; and elections occur at such infrequent intervals that disastrous crises could occur before the current set of officials is voted out of office. Similarly, my suggestion that you “vote with your feet” as a response to an unacceptable work environment is a rather glib one, in today's recessionary economy; the practical reality is that it might take months to find an equivalent job in your field, and/or your geographical area. And this touches on a theme that I'll elaborate upon later in the book: Our traditional “response time” to perceived risks and problems may not be fast enough to cope with today's fast-moving, chaotic disruptions.

In any case, one of my assumptions is that you want to have a better (and earlier) understanding of IT-related issues that could put you—and your family, your friends, your company, and your community—in harm's way in the months and years to come. To whatever extent you can act to reduce the chances of harm, by means of better information, so much the better. But it's also possible that you may conclude that your current situation (job, lifestyle, residential location) is untenable—and that because those who do control/influence your life (your boss, your elected leaders, perhaps even your bank or your hospital or your grocery store) are unwilling or unable to change, you're going to take matters into your own hands.

Much of this discussion would be moot if we assumed that the September 11th attacks were a “singular” event— i.e., an aberration, consisting of a single attack by 19 crazed terrorists. And some people do believe this to be the case; understandably, their reaction to September 11th is, “Yes, it was awful, and the after-effects may go on for a while. But fundamentally, it's over and done with, and our biggest priority is to get back to normal again.” Such an attitude contradicts the publicly stated threats and warnings from terrorist leaders in the weeks following September 11th; and it contradicts the warnings of top officials from the FBI and other government spokesmen. But everyone is free to draw their own conclusions, and to make their own predictions about the future. If your assumption is that there will never again[4] be a disruptive event of the scale and magnitude of the September 11th disaster, then this is probably not the book for you.

My assumption, which forms the basis for this book, is that there will be more events like September 11th. At least for the next few years, it's reasonable to expect that such events won't consist of commercial airplanes flying into office towers; after all, there is far too much scrutiny for such attacks to take place easily. But as we've all seen and heard from the endless commentaries in the media, we could find ourselves dealing with equally devastating attacks on bridges, dams, nuclear reactors, and other prominent sites. Or we could find ourselves coping with biological attacks, chemical attacks, nuclear attacks, or cyber-warfare attacks. Meanwhile, in the normal course of events on this planet, we could find ourselves coping with environmental “attacks” in the form of earthquakes, floods, hurricanes, drought, or pestilence. There is no obvious reason to suggest that such environmental crises would be any more likely, or less likely, as a result of September 11th; but some of us are more sensitive about the consequences of a major environmental crisis than we would have been before.

2 Who Is This Book Aimed At?

Because this is a book that discusses the IT-related issues associated with the post-9/11 world, I'm writing it primarily for people who know something about computers, software, and information technology. Thus, it should be particularly suitable for programmers, software engineers, database designers, network architects, and people with similar titles in the IT industry.

Indeed, some of what will be happening in the IT field in the coming years will be entirely technical in nature—and will thus be of concern primarily to the technical people who make it happen. How will we go about building more robust, more secure, and more resilient systems? How much redundancy do we need to build into our systems, so that they continue running, or at least exhibit a suitable “fail-soft” behavior, in the face of massive attacks and disruptions? Are today's programming languages, database packages, and configuration-management tools adequate for a new world that demands substantially higher levels of security?

On the other hand, none of these technical issues will be addressed and implemented unless some management decisions are made first. So, a number of the issues discussed in Byte Wars will be particularly relevant to project managers and team leaders; and the “strategic” issues will be on the agenda of meetings between the CIO, CFO, CEO, and other senior executives who ultimately provide the funding and policies for whatever IT systems are built and deployed within an organization.

So, if you're not a programmer or a business executive, does that mean you should put this book down and return to your Tom Clancy spy novels? Perhaps not: I believe that there are IT-related issues that will be relevant for politicians, elected officials, regulators and law-enforcement officers—and ultimately, for the millions of ordinary, average citizens who simply want to get on with their lives.

Obviously, it's the politicians, elected officials, and regulators who establish the laws and regulations that control the behavior of individuals and corporations. We've gotten a first taste of how the politicians have responded to September 11th, with a flurry of new laws of which the so- called PATRIOT bill is the most prominent; and it's reasonable to expect that there will be many more laws and regulations in the coming months and years. Some of these new laws and regulations may involve non-IT issues—e.g., the circumstances under which an individual can be tried by a military tribunal for suspected terrorist activities—and are thus entirely beyond the scope of this book. But other laws will involve issues of computer-related wiretapping, encryption, privacy, security, access to databases, and related technological issues; and I hope that Byte Wars will shed some light on what's realistic and practicable in those areas, and what's not.

Finally, the book is intended for the “man on the street”—the ordinary citizen who simply wants to live an ordinary life. If the September 11th attacks had taken place in 1974, the first year that the World Trade Center opened for business, then the average citizen would expect to play a passive role in any discussion about IT-related consequences. But today, the average citizen has more computing power in his home computer than the entire MIT campus had in 1974; and the computing power of that home computer is augmented by the (computer-enabled) cell phone, Palm Pilot, pager, Blackberry, fax machine, MP3 digital- music player, and Tivo TV-recorder. Half of us have an Internet connection at home, in addition to the network access we have at work; and many of us have always-on, high-speed cable-modem access to the Internet. To further complicate matters, we citizens have access to free encryption packages (e.g., PGP) whose sophistication throws a serious monkey-wrench into the efforts of government agencies to eavesdrop on our private communications.

So what? Well, at the very least, the citizens of the U.S. and other advanced countries around the world are going to be pawns, if not victims, in the high-tech struggles that will take place in the coming years. But to the extent that they decided to participate in those struggles, they have some powerful tools (I hesitate to call them weapons), and they represent a potentially formidable force. To illustrate: I have some 35,000 files and documents on my personal computer; not a single one of them involves anything subversive or threatening to any government, but there are private and confidential files, databases, and spreadsheets that I will do my best to prevent anyone from seeing without my permission. I know how to do this reasonably well, as does any other IT professional; but the average citizen has probably never thought about such issues before, and may be shocked to learn how open and vulnerable his computer files are.

Even before September 11th, operating an Internet-connected home computer was like living in a frontier town in the Wild West of yore. But in the post-9/11 world, it's like living in a frontier town in the midst of a blazing gun-battle between an overbearing, intrusive sheriff and his busy- body deputies, facing off against a gang of rapacious, heavily-armed outlaws.

3 Structure of the Book

As I've already noted, Byte Wars does not discuss germ warfare, chemical weapons, nuclear weapons, and several of the other threats posed by terrorists in today's stark new environment. Instead, it focuses on IT-related issues, and it begins with a summary of the IT-related “strategic implications” of the September 11th attacks.

Following that overview, I've chosen six major aspects of information technology to discuss: security, risk management, emergent systems, resilient systems, good-enough systems, and death-march projects. Each of these topics is covered in a separate chapter; and each chapter begins with a review of basic concepts and techniques, followed by a summary of the “paradigm shift” that has occurred since September 11th. And each chapter concludes with some guidelines and suggestions for appropriate strategies that should be discussed and evaluated by the various “communities” of readers mentioned above: IT professionals, managers, government leaders, and citizens.

There's no guarantee that I've identified all of the IT issues that we'll be facing in the new world. Indeed, it's highly likely that there will be second-order and third-order consequences of September 11th that will lead to new technologies, new ways of looking at the technical design and implementation of computer systems, and new social/ political paradigms about privacy and security. As such, a book like this may need to be revised every couple of years to remain current and relevant; and some critics might argue that it would be better to wait for several years, until the situation has stabilized, before documenting a new “equilibrium” that may have been established.

But we won't achieve such an equilibrium unless we start doing things now; indeed, some things have begun happening already, as part of the “knee-jerk” reaction to September 11th on the part of citizens, corporations, and government leaders. We need to make the best decisions we're capable of making, with whatever information and tools we have available today. If Byte Wars can make a contribution to that effort, I will consider it to have been a success.

[1] Of course, one could argue that Pearl Harbor meant little or nothing to Americans younger than my generation, at least prior to Hollywood's release of the Pearl Harbor movie in the spring of 2001. As I learned from reading Morris Berman's The Twilight of American Culture, a 1998 survey by the National Constitution Center found that 42 percent of American adults (not students, but adults!) could not locate Japan on a world map, and that 15 percent could not even locate the United States! Even worse: 41 percent of American teenagers can name the three branches of government, but 59 percent can name the Three Stooges. So perhaps my expectations about the memorable impact of Pearl Harbor and September 11th are unrealistic.

[2] See “Ford Starts Stockpiling,” by Steve Konicki, InformationWeek, September 21, 2001.

[3] Many of the so-called “facts” in this chapter, and throughout the book, should probably be prefixed with a disclaimer of this kind. I walked the circumference of Ground Zero a few weeks after September 11th, so I have the direct, physical, personal experience that twisted rubble has replaced the twin towers whose constructions I personally observed in the late 1960s and early 1970s. Beyond that, everything is second-hand, third-hand, or even further removed from my ability to provide direct, physical, personal corroboration. Thus, it would be more accurate to use the long-winded disclaimer one occasionally sees in newspaper articles: “Information from several independent sources, normally deemed credible and accurate, indicates that…” For the sake of brevity, I'll omit such caveats and qualifiers from subsequent “factual” statements in this book, but the reader may wish to keep them in mind.

[4] “Never again” is a phrase that we use casually, but it's more useful to think in relative terms than in absolute terms. Those who were directly involved in the 1993 World Trade Center attack might have been almost as badly shaken as the rest of us were on September 11th; and they might have vowed to take appropriate steps to prevent, or at least mitigate, the effects of any subsequent attack. But would those vows have been as earnest if those individuals had been told that the next attack would be far worse, but would not occur until eight years later? We'll never know; but what we do know is that, after a year or two of relative peace and quiet, many of the vows and policies, the laws and the regulations, that were enacted by the government in the aftermath of the 1993 attack, atrophied and died away. It's a sobering thought in today's environment; notwithstanding the government's vow that September 11th has unleashed a war against terrorism that will last for decades, there is always the possibility that after an initial flurry of activity, things may gradually revert to some semblance of the way things were before.
Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)