SQL Server in the Real World

I have been a faithful subscriber to Mark Rittman’s Oracle Weblog for a long time, because he tells the war stories about what it’s like doing large scale implementations of Oracle in the real world. The kind of real-world experience he communicates is worth far more than any marketing fluff or sanitized documentation from Oracle’s UE team, and reminds me of the sort of learnings that Microsoft’s strategic customer engagements yield.

So I am pleased to discover that the SQL Customer Team has started a blog. If you work with large SQL Server Deployments, this is music to your ears; “We have implemented several systems 10TB+ in size, high volume banking systems as well as trading systems. Many of the deployments we’ve worked on were on hardware with 32-64 processors, large amounts of memory and on the most sophisticated SAN solutions. When SQL Server or any database management system is stressed at these levels you learn a lot about the internals of the product and what it can and can not do.”

Kevin Cox kicks it off with a post about application patterns that cause poor performance. Having spent a great deal of time working on scalability issues at customer sites (most of which mapped directly to the state management/database layer), I can say that Kevin is right on the money. Mark Rittman sets a really high bar for real-world database blogging, but this is a promising start.

Now, I should point out that my old comrade Michael Rys was one of the first bloggers on the SQL engine team, and SQL now has a ton of bloggers, with teams like SSIS leading the way for product-specific blogging. But the perspective from people who are doing these strategic deployments every day is something that’s been missing until now.

My New Job

About five years ago, I switched from field consulting at Microsoft to a job in the product groups. I loved working in the field, but wanted to

shift to the PM role for awhile. In part, this was because my wife and I were about to have a baby, and one of us had to switch to a job with

absolutely no travel for a year or two. And in part, I wanted to get a “ship-it” under my belt, to prove that I could do it.

Five years have passed, I’ve gotten 3 ship-its (and 3 more pending), and I’ve worked for some great teams and a few good bosses I can heartily

recommend to my friends. I’ve learned a lot about what it takes to be a good PM. But I’ve continued to keep up with my friends in consulting,

sales, and evangelism, and always thought about one day returning (as I’ve blogged about here a couple of times).

So after my wife switched to a role in the product groups and a number of people nagged me about “why aren’t you an evangelist?” (and not just

because I’m preachy and my favorite movie is “The Apostle”), the timing felt right. I’m closing my first month as a “Technical Evangelist”, and I

couldn’t be happier. I’m part of the “Developer and Platform Evangelism” team, who help drive adoption of our

unreleased products. The team is jam-packed with people who I linked from this blog in the early years, and all seem to have gravitated to the same org. I did my first channel 9 video with Scoble just last week. I’m the guy responsible for evangelizing IE7, a rather unique product in many ways.

But rather than use this post to discuss the particulars of IE7 evangelism (deserving of several posts later on), I want to discuss the role of

evangelism, and more generally “why evangelists are happier”. I’ve known this fact for a long time (so you needn’t read any “selection bias” into my statement), but as a fresh PM in the product groups, this was one of my biggest

surprises. I recall sitting through my first “MS Employee Survey” meeting for the organization, where the (then) VP was going through the various

numbers on employee job satisfaction and morale. The numbers are sort of a competition between business units — SQL vs. Windows, MSN vs. Windows,

and so on. But none of the R&D groups bother comparing themselves against sales, consulting, evangelism, or similar roles. The VP at the time

explained to us, “sales groups always have higher numbers, for various reasons”, and left it at that. Things change, and these are just a numbers,

but I am confident this generalization still holds true — people in sales-oriented roles are happier. There are probably a couple of reasons for

this phenomenon:

  • Happier people sell better. People who are more positive and optimistic tend to be in higher demand in customer-facing roles, and thus these

    roles are a filter for the kind of people who are happier.

  • Tighter feedback loop. Product groups are often on multi-year ship cycles, so an employee can go through several reviews without ever seeing his product in customers’ hands. In addition, multi-year projects are more likely to slip and/or have significant course corrections, and I have seen survey data that suggests that slipped schedules and feature cuts are the number one issue affecting morale. There are some great teams in the company who have short ship cycles, and although it tends to be very intense, I think the data show that these teams are happier.
  • Good managers. There are great managers in the product groups, to be fair, but about half of them are from the field and sales anyway. My litmus test for a good manager is “how well does the manager cultivate and grow the bench, so that the organization has lots of healthy managers even after he or she leaves?” Before he was CEO, Steve Ballmer used to be responsible for sales and field organizations, and his impact extended down to virtually every line employee in

    the organization. Even though he’s not as involved today, the managers there today came up under his influence, and the whole organization bears his

    imprint in a way that the product groups don’t (yet). For people who worked in the sales and field orgs in those days, there is no question why

    Steve “I’m your monkey boy” Ballmer inspires so much loyalty. Now, I don’t want to seem like a suckup, so I’ll bring up a more concrete example:

    Bob McDowell. Bob basically created the MCS organization, so he set the template for all of the managers who followed. Bob left, then came back, then left again, and left again several years ago. Ask anyone in MCS to point out the managers who came up under Bob McDowell or bear his influence, and they’ll point out the managers who have the strongest and happiest orgs.

In any case, this isn’t to say that the product groups are not a happy place. Life in the product groups at Microsoft is better than just about any other place I’ve worked, and I’ve worked a few places. This is one of the best places in the world to work, and people in the product groups should realize how fortunate they already are before mobbing evangelism with resumes 🙂

Now that I don’t have to pretend not to be a shill anymore (it’s my title, now, after all), you can expect me to say it the way I see it.

Buggy Software

After flattening my machine a couple of times, and trying over 6 months, I finally got MSN Desktop Search to work on my machine. This was necessary because one of my installs (maybe WinFX beta) broke LookOut, and I absolutely can’t live without full-text search of my e-mail.

So now Outlook is almost unusable. I get random errors about “.OST inaccessible”, and when that happens all free/busy is lost and I can’t work with calendar anymore.

When I tried looking in the help documents, I was amused to find that the only link under “help” menu in MSN Desktop Search points to an item “Is this copy of Windows legal?”. Yes, I bet there are thousands of people out there who get stuck and wonder “Is my copy of Windows legal?”. It is so wonderful that the option is right there on the help menu. Anyway, it turns out that you have to click the question mark icon to get help.

Still no luck there, though. I had to do a Google search to find the relevant page on MSN. There I find the “cause” of my tribulations (emphasis mine):
If you are using Outlook 2003, and have more than 1GB of RAM available on your machine, you may encounter problems with Outlook. This is a known issue in Outlook, and a fix for this will be available shortly from the Outlook team.

To avoid this problem, you can remove memory so that your computer has 1GB of less of RAM, or you can disable memory above 1GB.

OK, so fast fulltext indexing is really RAM intensive, and I need 2GB of RAM in my machine, but the software won’t work with more than 1GB? Didn’t we all have to make our code work on more than 1GB back when 32-bit OS was introduced? This is 10 years later. This seems like a ship-stopper bug to me. At a minimum, the software should have told me this on install, so I wouldn’t waste so much time.


Update: There is a post-SP hotfix available for this bug. Thanks Sriram for pointing it out!

Lighting up the Lexicon

I’m convinced that someone at Microsoft has been deliberately injecting words into the industry lexicon. My mind keeps track of relative word frequencies, and every now and then I’ll see a new outlier pop up — first in some BillG and other keynote speeches, then spreading throughout the employee base, and then into the industry as a whole. Three recent examples have been “ecosystem”, “jazzed”, and “super” as in “super pumped”, “super critical”, etc. All three of these usages existed in the lexicon, of course — it’s just that they exist a whole lot more commonly now. The “super” one really interests me; the first time I heard an exec say “super important”, I promised myself I would never fall into the trap of changing my language to sound like an exec — it hasn’t been super easy, but I’ve been firm. Nobody other than me seems to notice how common it’s become, though, so I just accept the way things have changed.

So let me be the first to predict the next one. “Lit”, or “light up”. Again, common enough in the general lexicon, but about to become a whole lot more common on the lips of computer people. I can’t find who is the secret puppet master injecting this meme into the language, and it may just be coincidence, but I can sense it happening.

Incidentally, if you haven’t noticed by now, Microsoft has a love affair with visual metaphors in product names and marketing. There was a short tryst with biology (ecosystem, DNA, nervous system), but visual is back with a vengeance. As far as I can see, Vista is all about big open windows and light streaming in. I get the impression that Vista is all about light, or letting light in. In that spirit, I have a proposal for the official Vista launch music (comparable to the Rolling Stones song for Windows 95). How about “Two Months Off” by Underworld? It’s a nice contemporary dance bit, with lyrics that match the image:

you bring light in…

to a dark place
walking in light
glowing walking in light
gold ring around you
the hues of you
the golden sunlight of you

you bring light in…

cool wind following
following after you
rising for you
your skin beautiful
everything comes natural
fantastic fan
rocking rocking floating

Of course, I have no official connection to Vista marketing, so it would be all the more interesting if I guessed the song right. If I didn’t guess it right, they should change it. I like Underworld.

Book Review: Saving the Appearances

I hadn’t heard of Owen Barfield before last month. Based on an interesting quote and a recommendation that he has a “unique epistemology”, I picked up a copy of “Saving the Appearances“, and just finished reading it.

It turns out the book isn’t really an epistomology, but rather a treatise on the author’s opinions about the evolution of consciousness, and his thesis that the scientific revolution has left modern man with some largely unrecognized gaps in consciousness with relation to his environment.

This ended up being one of the best books I’ve read in a really long time. It deeply intertwines three of my favorite themes: Korzybski’s map/territory distinction, Ghazali’s reason versus faith debate, and Knowledge Representation. Barfield is incredibly erudite; pulling material from scores of sources and building some surprising and wickedly sharp arguments. Even when you find cracks in his arguments, you find that the intellectual ride is enjoyable.

The book starts with Barfield exploring the consciousness of totemic cultures. This is something I’ve been very interested in, from old Mongol and Native American culture to the writings of Castenada, I’ve always felt that the idea of anthropomorphism (or animism) was too naive. Barfield explains totemism completely differently. Rather than projecting a self-image onto nature, he posits that totemic cultures do not have a clear distinction between self and external and that totemism results from that. This was like a lightbulb to me; it rings true for many reasons. He draws this thesis from some linguists and anthropologists, but explains it persuasively.

He then goes on to make the case that the evolution of language and especially symbolic languages led to a greater distinction between self and nature, leading to increasing degrees of separateness between map and territory. One surprising assertion that he makes, and defends, is that Galileo was not excommunicated for the reasons we’re taught. He argues that Copernicus’s theories were no more endorsed by the Catholic church than Galileo’s. The difference was that Copernicus presented his theories as “one theory which matches the known observations of reality”, while Galileo presented his theory as “this is how reality is”. Up until Galileo, since Aristotle, all inquiry was meant to find theories which matched the observations. “It was not simply a new theory of the nature of celestial movements that was feared, but a new theory of the nature of theory; namely, that if a hypothesis saves all the appearances, it is identical with truth”.

Another surprising (and convincing) thesis is that Plato, Aristotle, Aquinas were not so stupid as we might think. We’re taught to think of human philosophy as a progressive evolution where each age corrects the errors of the previous and builds upon, so that the minds at the beginning of the chain are practically infantile. Barfield argues that the ancient philosophers were viewing the world through different lenses, before our age of reason had succeeded in completely isolating our thought-life from experience (the map/territory distinction), and that their philosophy was quite developed and remarkably consistent given their frame of reference. Viewed in this light, existentialism isn’t necessarily an advance, but rather a symptom of our changed frame of reference.

The next theme of interest is that of idols. He talks about what happens when people take a symbol that was meant to stand in for a real thing, and start to confuse that with the real thing. It’s clear enough that language should be a tool used by man, not a system in which man finds himself enslaved. But Barfield makes some interesting associations between the Abrahamite “make no images” and “word is God”. Anyone who has thought about the potential pitfalls of widespread KR knows that extra layers of semantic ambiguity can be dangerous, but Barfield takes it further — he practically argues that symbolic language (and the failure to realize that it’s *only* symbolic) is leading to an armaggedon, and furthermore, that Abraham (like a Hari Seldon) predicted and laid in place the antidote 3000 years ago. This is perhaps the most dramatic part of the book, and although I find the argument almost wholly unsubstantiated, it’s exhilarating in a Dan Brown sort of sense.

There are many clever quotes in the book. One made me think of large UML class diagrams, and the debates about ontological hell: “Only children run to the dictionary to settle an argument. But if we would consider the nature of meaning, and the nature between thought and things, we cannot profitably dispense with etymology. It is long since men gave up the notion that the variety of natural species and the secrets of their relation to each other can be understood apart from their history; but many speakers still seek to confine the science of language, as the Linnaeans once confined botany, within a sort of network of timeless abstractions. Method, for them, is another name for classification; but that is a blind alley.

Here is a choice quote that summarizes several arguments from various parts of the book; arguing that memory (aka semantic web) is a post-totemic idea that depends on lossy symbols. “As soon as unconscious or subconscious organic processes have been sufficiently polarized to give rise to phenomena on one side and consciousness on the other, memory is made possible. As consciousness develops into self-consciousness, the remembered phenomena become detatched or liberated from their originals and so, as images, are in some measure at man’s disposal. The more thoroughly participation has been eliminated, the more they are at the disposal of his imagination to employ as it chooses.

Detroit Chemical Plant Explosion

The blogosphere is way behind the MSM in reporting the explosions at the Detroit chemical plant. The location is not that far from DTW airport.

My first thought was of Detroit’s Bhopal (well, mostly steel, but still some chemicals), Zug Island. It’s the year 2005, and there is even a musical group of relative notoriety named after the island now, but still I can’t find any web photographs that even come close to capturing the feeling of that place. The guy at DetroitYes is the undisputed best at capturing the soul of Detroit, and Dante’s Inferno is an apt comparison, but even his picture does the place no justice. Perhaps Zug Island is best left an allegory, kept hidden in our hearts but never given life in our representations.

AJAX Irrelevant?

Marc Canter argues that AJAX is a dead-end street, arguing that “new paradigms like Laszlo and Avalon are required for us to build the future.”

I have to agree that the next generation of tools will bring better experiences, but the fact that better tools have existed for a long time, and nobody used them, should be instructive. Flash has been around for a long time, and the industry is littered with Flash competitors. Since 1995, the industry has attacked this “rich media” problem from every possible solution angle. But the stubborn web developers refused to bite, insisting on developing with crufty old HTML.

To me, the reason is clear. When people develop for a proprietary platform, they don’t mind being locked into that platform. But people who code for the web are often doing so because they don’t want to be locked in anyone’s trunk. The proof is evident. Why else would someone write 10,000 lines of difficult-to-debug JavaScript code when 1,000 lines of C# would give a better UI?

That doesn’t mean that AJAX will eat Avalon, but I think the two will coexist. Avalon will be used for a rather different set of scenarios, IMO. AJAX evolution will be slow and painful, but developers who need AJAX will just wait for the platform to evolve — that’s what they’ve been doing for the past five years. And developing won’t be as easy, but that clearly isn’t stopping anyone. It’s not easy to write Halo2 mods, either, but kids do it for free. From what I can see, for the scenarios where people are really pushing AJAX’s limits, AJAX is the only option they’re willing to consider, and it’s likely to remain that way for a long time to come.

Strange Ads

What’s with the Oakanfold Pepsi ads? As if “Starry Eyed Surprise” wasn’t obvious enough, they had to throw in a glittering rollergirl. Really lovely, but…

And how about the Vehix, “what you wish you could do in real life, now you can do online”. Every one of them shows something that is quite possible to do in real life, and easier than doing online. The one with the lady spinning her whole body around inside the car to get a view of the interior is a good example. I suppose if people’s legs, necks, waists, and eyeballs are immobile, the analogy would work. Admittedly, browsing online *does* have advantages. Too bad the vehix ads don’t show any of them.

Identity Meltdown

Kim Cameron remixes some recent press coverage of the declining trust in e-commerce, a trend he calls identity meltdown.

I first became interested in this topic in 1992, when I found it possible to transfer all of my money from one state to another with some very superficial identity checks performed by the destination bank (and no verification at the source). When I demanded that the bank close this obvious security hole, or else indemnify me (after transferring my money of course), I was shocked to find that they had no intention of protecting me from fraud, and did not consider it their responsibility if their shoddy identity checks resulted in fraud to me.

I’ve blogged about this trend several times over the past five years, and while technological solutions are promising, these technological solutions shouldn’t even be necessary. Here is my skeleton argument:

  • If the banks demanded much better identification before opening bank accounts or lines of credit, many of these attacks would be stopped dead. As it is, the banks have no incentive to do this, because they are not held responsible for the theft.
  • If congress were to pass a law requiring that banks be held responsible for shoddy identification practices (as they would be held responsible for other security breaches), they would have a financial incentive to stop trusting poor tokens of identity.
  • This situation is unlikely to change. While I think it is possible to stop identity theft by holding responsible the financial institutions, there is another way. The groundswell of people crying out for a solution to identity fraud can be used to justify legislation of more systemic changes such as national ID. National ID is desirable to groups such as FBI, homeland security, and of course financial institutions. Solving the problem by penalizing financial institutions would leave lawmakers with little political leverage to push national ID.