Friday, November 18, 2005

Microsoft SQL Server Development Customer Advisory Team - Blog

http://blogs.msdn.com/sqlcat/

Awesome site .. SQL techie guys dream site! an extract of what it contains

Hello SQL Server Community! My name is Mark Souza and I work on the SQL Server product team and manage all customer programs. One exciting team that I manage is called the SQL Server Customer Advisory team (SQLCAT). This team spends 75% of their time away from the halls of Redmond, Washington working directly with the largest and most challenging SQL Server implementations across the world. 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. The SQL CAT team objectives are three fold:

a) Provide quality assurance to ensure success of these enterprise systems.

b) Drive the enterprise feature requirements back into the product

c) Create Best practices from our learnings

This blog will be about these learnings and best practices. It will be technical and targeted mostly at the enterprise customer space. We welcome comments, questions, dialog from anyone at anytime, but remember we bring a deep technical knowledge of Microsoft SQL Server so leave the licensing questions for the marketing guys J

The Customer Advisory Team Members who will be posting:

Mark Souza – 23+ years working on RDBMS technology with 12+ on Microsoft SQL Server. I get to manage these database geeks

Tom Davidson – 25+ years database technology with 10+ Microsoft SQL Server specializing in Performance and Tuning

Prem Mehra – 35+ years in the database industry specializing in IO technologies and High Availability

Bren Newman – 12+ years Microsoft SQL Server and former member of the Replication development team.

Stuart Ozer – 25+ years database experience. Has built more TB+ data warehouses than I can count.

Prakash Sundaresan – 7+ years on the SQL Server Engine development team. Knows the Query Processor inside and out.

Kevin Cox – New member to the SQLCAT unit but brings 25 years of industry experience and strong SSIS and OLTP skills

Howard Yin – Another newbie SQLCAT guy. Comes from Oracle originally but we let him join us anyway. All around great skills with the product.

Lubor Kollar – 17+ years database engine development, 9+ with SQL Server. Currently member of SQLCAT with ongoing background responsibility as Group Program Manager on the Engine development team.

Gert Drapers – Has recently moved to Visual Studio team creating cool database development tools but is allowed lifelong membership to SQLCAT. Also the best SQL Server developer in the world.



Starting in September, we will be posting often. Let us know if there is a specific area of interest and we would be happy to blog about it. Enjoy!

Tuesday, November 15, 2005

History's Worst Software Bugs

Last month automaker Toyota announced a recall of 160,000 of its Prius hybrid vehicles following reports of vehicle warning lights illuminating for no reason, and cars' gasoline engines stalling unexpectedly. But unlike the large-scale auto recalls of years past, the root of the Prius issue wasn't a hardware problem -- it was a programming error in the smart car's embedded code. The Prius had a software bug.

With that recall, the Pruis joined the ranks of the buggy computer -- a club that began in 1947 when engineers found a moth in Panel F, Relay #70 of the Harvard Mark 1 system. The computer was running a test of its multiplier and adder when the engineers noticed something was wrong. The moth was trapped, removed and taped into the computer's logbook with the words: "first actual case of a bug being found."

Sixty years later, computer bugs are still with us, and show no sign of going extinct. As the line between software and hardware blurs, coding errors are increasingly playing tricks on our daily lives. Bugs don't just inhabit our operating systems and applications -- today they lurk within our cell phones and our pacemakers, our power plants and medical equipment. And now, in our cars.

But which are the worst?

It's all too easy to come up with a list of bugs that have wreaked havoc. It's harder to rate their severity. Which is worse -- a security vulnerability that's exploited by a computer worm to shut down the internet for a few days or a typo that triggers a day-long crash of the nation's phone system? The answer depends on whether you want to make a phone call or check your e-mail.

Many people believe the worst bugs are those that cause fatalities. To be sure, there haven't been many, but cases like the Therac-25 are widely seen as warnings against the widespread deployment of software in safety critical applications. Experts who study such systems, though, warn that even though the software might kill a few people, focusing on these fatalities risks inhibiting the migration of technology into areas where smarter processing is sorely needed. In the end, they say, the lack of software might kill more people than the inevitable bugs.

What seems certain is that bugs are here to stay. Here, in chronological order, is the Wired News list of the 10 worst software bugs of all time … so far.

July 28, 1962 -- Mariner I space probe. A bug in the flight software for the Mariner 1 causes the rocket to divert from its intended path on launch. Mission control destroys the rocket over the Atlantic Ocean. The investigation into the accident discovers that a formula written on paper in pencil was improperly transcribed into computer code, causing the computer to miscalculate the rocket's trajectory.

1982 -- Soviet gas pipeline. Operatives working for the U.S. Central Intelligence Agency allegedly (.pdf) plant a bug in a Canadian computer system purchased to control the trans-Siberian gas pipeline. The Soviets had obtained the system as part of a wide-ranging effort to covertly purchase or steal sensitive U.S. technology. The CIA reportedly found out about the program and decided to make it backfire with equipment that would pass Soviet inspection and then fail once in operation. The resulting event is reportedly the largest non-nuclear explosion in the planet's history.

1985-1987 -- Therac-25 medical accelerator. A radiation therapy device malfunctions and delivers lethal radiation doses at several medical facilities. Based upon a previous design, the Therac-25 was an "improved" therapy system that could deliver two different kinds of radiation: either a low-power electron beam (beta particles) or X-rays. The Therac-25's X-rays were generated by smashing high-power electrons into a metal target positioned between the electron gun and the patient. A second "improvement" was the replacement of the older Therac-20's electromechanical safety interlocks with software control, a decision made because software was perceived to be more reliable.

What engineers didn't know was that both the 20 and the 25 were built upon an operating system that had been kludged together by a programmer with no formal training. Because of a subtle bug called a "race condition," a quick-fingered typist could accidentally configure the Therac-25 so the electron beam would fire in high-power mode but with the metal X-ray target out of position. At least five patients die; others are seriously injured.

1988 -- Buffer overflow in Berkeley Unix finger daemon. The first internet worm (the so-called Morris Worm) infects between 2,000 and 6,000 computers in less than a day by taking advantage of a buffer overflow. The specific code is a function in the standard input/output library routine called gets() designed to get a line of text over the network. Unfortunately, gets() has no provision to limit its input, and an overly large input allows the worm to take over any machine to which it can connect.

Programmers respond by attempting to stamp out the gets() function in working code, but they refuse to remove it from the C programming language's standard input/output library, where it remains to this day.

1988-1996 -- Kerberos Random Number Generator. The authors of the Kerberos security system neglect to properly "seed" the program's random number generator with a truly random seed. As a result, for eight years it is possible to trivially break into any computer that relies on Kerberos for authentication. It is unknown if this bug was ever actually exploited.

January 15, 1990 -- AT&T Network Outage. A bug in a new release of the software that controls AT&T's #4ESS long distance switches causes these mammoth computers to crash when they receive a specific message from one of their neighboring machines -- a message that the neighbors send out when they recover from a crash.

One day a switch in New York crashes and reboots, causing its neighboring switches to crash, then their neighbors' neighbors, and so on. Soon, 114 switches are crashing and rebooting every six seconds, leaving an estimated 60 thousand people without long distance service for nine hours. The fix: engineers load the previous software release.

1993 -- Intel Pentium floating point divide. A silicon error causes Intel's highly-promoted Pentium chip to make mistakeswhen dividing floating-point numbers that occur within a specific range. For example, dividing 4195835.0/3145727.0 yields 1.33374 instead of 1.33382, an error of 0.006 percent. Although the bug affects few users, it becomes a public relations nightmare. With an estimated 3 to 5 million defective chips in circulation, at first Intel only offers to replace Pentium chips for consumers who can prove that they need high accuracy; eventually the company relents and agrees to replace the chips for anyone who complains. The bug ultimately costs Intel $475 million.

1995/1996 -- The Ping of Death. A lack of sanity checks and error handling in the IP fragmentation reassembly code makes it possible to crash a wide variety of operating systems by sending a malformed "ping" packet from anywhere on the internet. Most obviously affected are computers running Windows, which lock up and display the so-called "blue screen of death" when they receive these packets. But the attack also affects many Macintosh and Unix systems as well.

June 4, 1996 -- Ariane 5 Flight 501. Working code for the Ariane 4 rocket is reused in the Ariane 5, but the Ariane 5's faster engines trigger a bug in an arithmetic routine inside the rocket's flight computer. The error is in the code that converts a 64-bit floating-point number to a 16-bit signed integer. The faster engines cause the 64-bit numbers to be larger in the Ariane 5 than in the Ariane 4, triggering an overflow condition that results in the flight computer crashing.

First Flight 501's backup computer crashes, followed 0.05 seconds later by a crash of the primary computer. As a result of these crashed computers, the rocket's primary processor overpowers the rocket's engines and causes the rocket to disintegrate 40 seconds after launch.

November 2000 -- National Cancer Institute, Panama City. In a series of accidents, therapy planning software created by Multidata Systems International, a U.S. firm, miscalculates the proper dosage of radiation for patients undergoing radiation therapy.

Multidata's software allows a radiation therapist to draw on a computer screen the placement of metal shields called "blocks" designed to protect healthy tissue from the radiation. But the software will only allow technicians to use four shielding blocks, and the Panamanian doctors wish to use five.

The doctors discover that they can trick the software by drawing all five blocks as a single large block with a hole in the middle. What the doctors don't realize is that the Multidata software gives different answers in this configuration depending on how the hole is drawn: draw it in one direction and the correct dose is calculated, draw in another direction and the software recommends twice the necessary exposure.

At least eight patients die, while another 20 receive overdoses likely to cause significant health problems. The physicians, who were legally required to double-check the computer's calculations by hand, are indicted for murder.

Thursday, September 22, 2005

Cyclomatic Code Complexity Analysis ( Microsoft.NET Applications )

Guys,

There are two key areas that we focus on when choosing code for review:
Functionality that is important to the proper operation of the system (e.g. core frameworks, unique algorithms, performance-critical code, etc.).
Code that has a high complexity
As an example, most of our data types inherit from a base type that provides a lot of common functionality. Because of its placement in the hierarchy, it is important that our base type functions in a consistent, reliable, and expected manner. Example of core functionality that is required for correct system operation. For other code, we need to rely on code complexity measurements.
Having said that how do we analyse code complexity and how its going to be one of the objective of the code review process?
If this is the question on your mind, here is one of the way you can opt for.

Cyclomatic Code Complexity Analysis ( Microsoft.NET Applications )

There are several ways to measuring complexity (data complexity, module coupling, algorithmic complexity, calls-to and called-by, etc.. ). Although these other methods are effective in the right context, it seems to be generally accepted that control flow is one of the most useful measurements of complexity, and high complexity scores have been shown to be a strong indicator of low reliability and frequent errors.
Cyclomatic Code Complexity is based on the Tom McCabe's work and is defined by the codes control flow.
Start with 1 for the straight path through the routine
Add 1 for each of the following keywords or their equivalents: if, while, repeat, for, and, or
Add 1 for each case in a case statement
So, if we have this C# example:
while (nextPage != true)
{
if ((lineCount <= linesPerPage) && (status != Status.Cancelled) && (morePages == true))
{
// ...
}
}
In the code above, we start with 1 for the routine, add 1 for the while, add 1 for the if, and add 1 for each && for a total calculated complexity of 5. Anything with a greater complexity than 10 or so is an excellent candidate for simplification and refactoring. Minimizing complexity is a great goal for writing high-quality, maintainable code.
Some advantages of McCabe's Cyclomatic Complexity include:
It is very easy to compute, as illustrated in the example
Can be computed immediately in the development lifecycle (which makes it friendly)
It provides a good indicator of the ease of code maintenance
It can help focus testing efforts
It makes it easy to find complex code for formal review
It is important to note that a high complexity score does not automatically mean that code is bad. However, it does highlight areas of the code that have the potential for error. The more complex a method is, the more likely it is to contain errors, and the more difficult it is to completely test. Now check the Project/SEI risk assessment matrix for value of code , and decide which code needs refactoring.

Good luck and hope this works for you and your team.

Source: Fowler, Martin. 1999. Refactoring: Improving the Design of the Existing Code Boston: Addison-Wesley. (refer this book for more details)

Friday, September 16, 2005

Microsoft in AOL Talks

Microsoft is talking to Time Warner about buying a stake in America Online, a deal that could also include AOL's using Microsoft's search engine. That would be bad news for Google, which currently provides search service for AOL, its single biggest revenue source last year. The deal, first reported by the New York Post, is still in preliminary stages. That Microsoft is talking about joining forces with AOL, once its bitter rival, shows just how badly it wants to catch up to Google in the battle for online advertising dollars. Shares of Time Warner, which have never recovered from the company's disastrous merger with AOL five years ago, rose 3% today.

Thursday, September 15, 2005

Google now has search for blogs

Google the largets web search engine now has a search feature thats searches results of blog entries. Find it here

Friday, September 09, 2005

Something to ponder

What if fine wasnt good enough ... what if i wanted extraordinary ?

Something to ponder

I'm not in denial, I'm just selective about the reality I choose to accept.
-Calvin and Hobbes


Life is a sexually transmitted disease, and it's 100% fatal.

I either want less corruption, or more chance to participate in it.
-Ashleigh Brilliant

In the beginning the Universe was created.
This has made a lot of people very angry and been widely regarded as a bad move."
-Douglas Adams, "The Hitchhiker's Guide to the Galaxy"

"Love is like an hourglass, with the heart filling up as the brain empties."
Jules Renard

"Everything that exists in your life, does so because of two things: something you did or something you didn't do."
-Albert Einstien


I am an old man and have known many troubles, but most of them never happened. -Mark Twain

"The object of war is not to die for your country but to make the other bastard die for his."
- General George Patton

Pray, n:. To ask that the laws of the universe be annulled in behalf of a single petitioner confessedly unworthy."
- Ambrose Bierce

A great many people think they are thinking when they are merely rearranging their prejudices. -William James

Paranoia is just a higher form of awareness. -Charles Manson

Good people will do good things. Evil people will do evil things. But for good people to do evil things, that takes religion. -Steven Weinberg

Thursday, September 08, 2005

Steve Jobs Speaks at Stanford Commencement

Find the awesome speach by Steve jobs at Stanford.
Both Text and audio available here

Key lines
* Don't let the noise of other's opinions drown out your own inner voice
* Have the courage to follow your heart and intuition. They somehow already know what you truly want to become

Speech Transcript:

I am honored to be with you today at your commencement from one of the finest universities in the world. I never graduated from college. Truth be told, this is the closest I've ever gotten to a college graduation. Today I want to tell you three stories from my life. That's it. No big deal. Just three stories.

The first story is about connecting the dots.

I dropped out of Reed College after the first 6 months, but then stayed around as a drop-in for another 18 months or so before I really quit. So why did I drop out?

It started before I was born. My biological mother was a young, unwed college graduate student, and she decided to put me up for adoption. She felt very strongly that I should be adopted by college graduates, so everything was all set for me to be adopted at birth by a lawyer and his wife. Except that when I popped out they decided at the last minute that they really wanted a girl. So my parents, who were on a waiting list, got a call in the middle of the night asking: "We have an unexpected baby boy; do you want him?" They said: "Of course." My biological mother later found out that my mother had never graduated from college and that my father had never graduated from high school. She refused to sign the final adoption papers. She only relented a few months later when my parents promised that I would someday go to college.

And 17 years later I did go to college. But I naively chose a college that was almost as expensive as Stanford, and all of my working-class parents' savings were being spent on my college tuition. After six months, I couldn't see the value in it. I had no idea what I wanted to do with my life and no idea how college was going to help me figure it out. And here I was spending all of the money my parents had saved their entire life. So I decided to drop out and trust that it would all work out OK. It was pretty scary at the time, but looking back it was one of the best decisions I ever made. The minute I dropped out I could stop taking the required classes that didn't interest me, and begin dropping in on the ones that looked interesting.

It wasn't all romantic. I didn't have a dorm room, so I slept on the floor in friends' rooms, I returned coke bottles for the 5¢ deposits to buy food with, and I would walk the 7 miles across town every Sunday night to get one good meal a week at the Hare Krishna temple. I loved it. And much of what I stumbled into by following my curiosity and intuition turned out to be priceless later on. Let me give you one example:

Reed College at that time offered perhaps the best calligraphy instruction in the country. Throughout the campus every poster, every label on every drawer, was beautifully hand calligraphed. Because I had dropped out and didn't have to take the normal classes, I decided to take a calligraphy class to learn how to do this. I learned about serif and san serif typefaces, about varying the amount of space between different letter combinations, about what makes great typography great. It was beautiful, historical, artistically subtle in a way that science can't capture, and I found it fascinating.

None of this had even a hope of any practical application in my life. But ten years later, when we were designing the first Macintosh computer, it all came back to me. And we designed it all into the Mac. It was the first computer with beautiful typography. If I had never dropped in on that single course in college, the Mac would have never had multiple typefaces or proportionally spaced fonts. And since Windows just copied the Mac, its likely that no personal computer would have them. If I had never dropped out, I would have never dropped in on this calligraphy class, and personal computers might not have the wonderful typography that they do. Of course it was impossible to connect the dots looking forward when I was in college. But it was very, very clear looking backwards ten years later.

Again, you can't connect the dots looking forward; you can only connect them looking backwards. So you have to trust that the dots will somehow connect in your future. You have to trust in something - your gut, destiny, life, karma, whatever. This approach has never let me down, and it has made all the difference in my life.

My second story is about love and loss.

I was lucky Ð I found what I loved to do early in life. Woz and I started Apple in my parents garage when I was 20. We worked hard, and in 10 years Apple had grown from just the two of us in a garage into a $2 billion company with over 4000 employees. We had just released our finest creation - the Macintosh - a year earlier, and I had just turned 30. And then I got fired. How can you get fired from a company you started? Well, as Apple grew we hired someone who I thought was very talented to run the company with me, and for the first year or so things went well. But then our visions of the future began to diverge and eventually we had a falling out. When we did, our Board of Directors sided with him. So at 30 I was out. And very publicly out. What had been the focus of my entire adult life was gone, and it was devastating.

I really didn't know what to do for a few months. I felt that I had let the previous generation of entrepreneurs down - that I had dropped the baton as it was being passed to me. I met with David Packard and Bob Noyce and tried to apologize for screwing up so badly. I was a very public failure, and I even thought about running away from the valley. But something slowly began to dawn on me Ð I still loved what I did. The turn of events at Apple had not changed that one bit. I had been rejected, but I was still in love. And so I decided to start over.

I didn't see it then, but it turned out that getting fired from Apple was the best thing that could have ever happened to me. The heaviness of being successful was replaced by the lightness of being a beginner again, less sure about everything. It freed me to enter one of the most creative periods of my life.

During the next five years, I started a company named NeXT, another company named Pixar, and fell in love with an amazing woman who would become my wife. Pixar went on to create the worlds first computer animated feature film, Toy Story, and is now the most successful animation studio in the world. In a remarkable turn of events, Apple bought NeXT, I retuned to Apple, and the technology we developed at NeXT is at the heart of Apple's current renaissance. And Laurene and I have a wonderful family together.

I'm pretty sure none of this would have happened if I hadn't been fired from Apple. It was awful tasting medicine, but I guess the patient needed it. Sometimes life hits you in the head with a brick. Don't lose faith. I'm convinced that the only thing that kept me going was that I loved what I did. You've got to find what you love. And that is as true for your work as it is for your lovers. Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven't found it yet, keep looking. Don't settle. As with all matters of the heart, you'll know when you find it. And, like any great relationship, it just gets better and better as the years roll on. So keep looking until you find it. Don't settle.

My third story is about death.

When I was 17, I read a quote that went something like: "If you live each day as if it was your last, someday you'll most certainly be right." It made an impression on me, and since then, for the past 33 years, I have looked in the mirror every morning and asked myself: "If today were the last day of my life, would I want to do what I am about to do today?" And whenever the answer has been "No" for too many days in a row, I know I need to change something.

Remembering that I'll be dead soon is the most important tool I've ever encountered to help me make the big choices in life. Because almost everything Ð all external expectations, all pride, all fear of embarrassment or failure - these things just fall away in the face of death, leaving only what is truly important. Remembering that you are going to die is the best way I know to avoid the trap of thinking you have something to lose. You are already naked. There is no reason not to follow your heart.

About a year ago I was diagnosed with cancer. I had a scan at 7:30 in the morning, and it clearly showed a tumor on my pancreas. I didn't even know what a pancreas was. The doctors told me this was almost certainly a type of cancer that is incurable, and that I should expect to live no longer than three to six months. My doctor advised me to go home and get my affairs in order, which is doctor's code for prepare to die. It means to try to tell your kids everything you thought you'd have the next 10 years to tell them in just a few months. It means to make sure everything is buttoned up so that it will be as easy as possible for your family. It means to say your goodbyes.

I lived with that diagnosis all day. Later that evening I had a biopsy, where they stuck an endoscope down my throat, through my stomach and into my intestines, put a needle into my pancreas and got a few cells from the tumor. I was sedated, but my wife, who was there, told me that when they viewed the cells under a microscope the doctors started crying because it turned out to be a very rare form of pancreatic cancer that is curable with surgery. I had the surgery and I'm fine now.

This was the closest I've been to facing death, and I hope its the closest I get for a few more decades. Having lived through it, I can now say this to you with a bit more certainty than when death was a useful but purely intellectual concept:

No one wants to die. Even people who want to go to heaven don't want to die to get there. And yet death is the destination we all share. No one has ever escaped it. And that is as it should be, because Death is very likely the single best invention of Life. It is Life's change agent. It clears out the old to make way for the new. Right now the new is you, but someday not too long from now, you will gradually become the old and be cleared away. Sorry to be so dramatic, but it is quite true.

Your time is limited, so don't waste it living someone else's life. Don't be trapped by dogma - which is living with the results of other people's thinking. Don't let the noise of other's opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.

When I was young, there was an amazing publication called The Whole Earth Catalog, which was one of the bibles of my generation. It was created by a fellow named Stewart Brand not far from here in Menlo Park, and he brought it to life with his poetic touch. This was in the late 1960's, before personal computers and desktop publishing, so it was all made with typewriters, scissors, and polaroid cameras. It was sort of like Google in paperback form, 35 years before Google came along: it was idealistic, and overflowing with neat tools and great notions.

Stewart and his team put out several issues of The Whole Earth Catalog, and then when it had run its course, they put out a final issue. It was the mid-1970s, and I was your age. On the back cover of their final issue was a photograph of an early morning country road, the kind you might find yourself hitchhiking on if you were so adventurous. Beneath it were the words: "Stay Hungry. Stay Foolish." It was their farewell message as they signed off. Stay Hungry. Stay Foolish. And I have always wished that for myself. And now, as you graduate to begin anew, I wish that for you.

Stay Hungry. Stay Foolish.

Thank you all very much.

Wednesday, September 07, 2005

Something to ponder

Fear knocked on my door and faith answered
When i went to open the door, there was no one there.

We should act in spite of fear and not because of fear.

Friday, September 02, 2005

Something to keep in mind

Only if you have been in the deepest valley you can know how magnificent it is to be on the tallest mountain.

Tuesday, August 09, 2005

Email in the Enterprise

Email is much more critical than previously imagined,Your business goes down when your email goes down; it's not just an application. Everything you do is in there, so it's also a smoking gun for liability. Email is basically your corporate memory.

Friday, August 05, 2005

First Windows Vista Virus Appears

Just a week after Microsoft shipped Vista Beta 1 to the world, the fledgling OS has been blessed with its first virus. OK, maybe blessed isn't the right word. (Come on, Paul. Think, then write.) An Austrian hacker has released a virus that uses Vista Beta 1's new command shell (code-named Monad) and actually includes a tutorial about writing other Monad-based viruses. "Monad will be like Linux's BASH [shell]," the hacker noted. "We will be able to make as huge and complex scripts as we do in Linux." The virus is categorized as proof-of-concept only and doesn't do anything harmful. But it raises some interesting concerns.

Wednesday, July 06, 2005

In another place

In another place ... seems like another time .. woe is me ...

Saturday, June 25, 2005

Stored Procedure Invocation Code Generator for VB, C# and JScript.NET:

A great tool that can cut development time multifold, by creating the a sample xml document and defining the name of the stored procedure and its parameters, then assiciate the XML to the custom tool (as part of the install), it will automatically generate the code to call the stored procedure as though it was a class. Download the software and code here

The only disadvantage i have found(dont claim that ive read the entire document /source code to check for bypass) is that we have to specify the DB server name in the XML document. So once we move to a staging server or deployment server then we will have to modify the server name again. I guess you can overcome the limitation by modifying the source code.

All in all *great tool*, will post additional details once i try out the software, can save your project loads of time.

Open Source .NET Projects:
All the projects here are written in c#

NunitForms - a NUnit extension that can track all the UI interactions, save it and execute the steps as in a Unit text context. Find details here

Sunday, June 19, 2005

Friday, June 17, 2005

BILL GATES :

Why do you think, in this time of great technological advancement, people are still working harder and not smarter?

One of the greatest opportunities today is for software to more closely mirror the way people want to work, so they can focus on getting things done rather than managing all the technology in their lives, searching for the information they need, or adapting how they work to how their computer works. I believe the productivity breakthroughs we’ll see in the next decade will be as significant as those we’ve achieved in the past quarter-century.

How do you feel about competing open source platforms such as Unix and Linux?

The software ecosystem can accommodate many different development models, and healthy competition is what produces new innovations and drives technology forward. We focus our efforts on developing products based on the commercial model, which we believe produces the best possible software for our customers.

Thursday, June 16, 2005


What is XP:
eXtreme Programming is a lightweight methodology (see other lightweigh methodologies here), XP is a methodology that is used to delivery software to your customers needs when its needed. XP empowers your developers to confidently respond to changing customer requirements, even late in the life cycle.XP implements a simple, yet effective way to enable groupware style development. XP is a disciplined approach to developing software. XP is successful because it stresses on customer satisfaction.
The methodology emphasizes on team work, from the developers , managers and the client. XP was intended for small project groups but there are examples of projects of 100 members that have used XP eg Though Works. The methodology is a collection of rules, each rule supporting the other rules.

The tenets of XP:
1. Simplicity
2. Communication
3. Feedback
4. Courage

Role of a developer:
One of the key tasks of a developer is refactoring ie thats a task that the client and the managers cannot enforce , only the developer/designer can do so. The programmer is also reasponsible for creating high quality code by
a) pair programming approach
b) refactoring
c) creating test cases before creating code.


XP has 4 phases :
1) Planning
2) Designing
3) Coding
4) Testing

Planning Phase:
User stories: It serves multiple purposes, it can be used instead of a requirement document , the IT integrator can use the document as an estimator and use it for release planning, the document is written by the client in non -technology terms, the client can use the document to derive the user acceptance tests. Once the big picture is created the individual developers go to the client and then get the details of the sub stories and document the same as user requirements, if a user story takes more than 3 weeks then a new story is created

XP uses iterative development process so that the project can get the agility of a change process.





Refactoring: (interesting bit)
A caterpillar is perfectly designed to eat vast amounts of foliage but he can't find a mate, he must refactor himself into a butterfly before he is designed to search the sky for others of his own kind. Let go of your notions of what the system should or should not be and try to see the the new design as it emerges before you
- Kent Beck

Sunday, June 12, 2005

Taking the human out of the loop:
A chain is only as strong as its weakest link, lets face it in a fast moving economy and dog -eat -dog world .. the weakest link to any enterprise is its workforce. Humans are good decission makes, only if they have the will and interest to make an optimal decission and considering that they cannot make decessions 24x7, wouldnt it be better for an Enterprise to hand that job to a machine ? Evolution ! in the way that the enterprise works, the enterprise now can be a 24x7 money making, decession conscious entity that can work optimally. The system doesnt require sleep, it doesnt have to be out of the office .. doenst have to do the laundry ;) and it doesnt require a raise in the pay cheque :D.
Business could really be "business at the speed of thought" well this time that of a machine, and for thought that can be a simple programmed decission well and machine can defanitely beat any carbon based lifeform.
Business process integration:

In the present times when IT system have evolved from basic Mainframe technologies sitting in an isolated room to Grid networks ... IT has defanitely come a long way in a short time (no pun intended there ) but then we have islands of data .. islands every where .. there is no single version of the truth , different systems different data - a different view of the truth, its a bird ... no its a plane... not its DataWarehousing to the rescue !!! well even data level integration doesnt seem to work these days ... we need another means to look at an enterprise level in a holistic view and the answer to that is Business process integration, using Integration techologies. BPI .. the wave of the future.

Saturday, June 04, 2005

Ajax.NET:
A neat .NET utility that lets you call JavaScript asynchronously using XmlHttp. Find details here

Friday, May 27, 2005

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man."
-- George Bernard Shaw
Autocomment your code:
Dont you feel that commenting you code(particularly before the review) is a tedious/redundant job and we have advanced so much that the system should actually infer the comment automatically.... gosh the day has just arrived !!
Installed GhostDoc yesterday download it here. Amazing product.
If you follow the right naming conventions the add-in will automatically (and accurately) add comments for you. ...really cool !!
Something to ponder :
One of the differences between building
architecture and software architecture is
that a lot of decisions about a building
are hard to change. It is hard to go back
and change your basement, though it is
possible.
There is no theoretical reason that anything
is hard to change about software.
If you pick any one aspect of software
then you can make it easy to change,
but we don’t know how to make everything
easy to change. Making something
easy to change makes the overall system
a little more complex, and making
everything easy to change makes the entire
system very complex. Complexity is
what makes software hard to change.
Software is not limited by physics, like
buildings are. It is limited by imagination,
by design, by organization. In
short, it is limited by properties of people,
not by properties of the world. “We
have met the enemy, and he is us.”

Monday, May 16, 2005

BizTalk 2004: Free tutorials for Biztalk 2004, links to BizTalk 2004, BTS 2004 documents., Integration patterns using BizTalk 2004(BTS 2004)
Extract from a blog :


BizTalk Overview
Books
BizTalk Server 2004Microsoft BizTalk Server 2004 Developer's Guide by Scott Woodgate, et al. Integration Patterns PAG (architecture guidance group at Microsoft) - FREE!
BizTalk Server 2002BizTalk Server 2002 Design and Implementation by Xin Chen. One sample chapter is available.Biztalk Unleashed (for 2002) by Susie Adams, et al. Two sample chapters are available.
General B2B and EAIEnterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions by Gregor Hohpe, Bobby Woolf. One sample chapter is available. There is also a paper on the author's web site on using these patterns with BizTalk Server!Integration Patterns guidance from Microsoft.

Microsoft Web sites
BizTalk homeBizTalk Server downloadsBizTalk Server on MSDNBizTalk Server on TechnetBizTalk Server DocumentationBizTalk Server Code SamplesBizTalk Server White Papers
GotDotNet has a page on Microsoft server products, including BizTalk.

Third-party Web sites
UsingBiztalk - your one stop shop for BizTalk Server.
TopXML has a great section on Learn B2B, BizTalk and XML. Lots of articles, presentations, and downloads.
TopXML also has some great BizTalk utilities for both 2002 and 2004.
Only4Gurus has a BizTalk Server category which has BizTalk presentations, articles, and downloads too.
Christoph has a post on BizTalk Baby Steps, to help get you up and running quickly.

Important Downloads2004BizTalk Server 2004 Product DocumentationDownload the updated product documentation Help file to have new content for BizTalk Server 2004 on your desktop. The production documentation is updated on a quarterly basis. Or view the BizTalk Server 2004 Documentation online.
BizTalk Server 2004 SDK RefreshThe BizTalk Server 2004 SDK Refresh contains updates and additions to samples, utilities, headers, and other developer artifacts to aide in the development of BizTalk Server 2004 applications.
BizTalk Server 2004 Installation GuideLearn how to install BizTalk Server 2004 on a single computer or on multiple computers, with the information in this document.
Orchestration Designer for Business AnalystsVisio Add-In that enables Business Analysts to create business orchestrations that can be implemented using BizTalk Server 2004.
BizTalk 2004 TutorialThe BizTalk Server Tutorial contains detailed information about how Microsoft BizTalk Server 2004 can be used within your company to facilitate Enterprise Application Integration (EAI) and among business partners to automate business-to-business processes.
BizTalk Server 2004 Performance Characteristics
BizTalk Server 2004 Technical Deployment Guide for Security
BizTalk Server 2004 Migration
BizTalk Server 2004 Multi-Box Install
BizTalk Adapter Development Guide
2002Microsoft BizTalk Server 2002 Publish-Subscribe ToolkitThe Microsoft BizTalk Server 2002 Publish-Subscribe Toolkit is an abstraction layer built upon the standard BizTalk objects (also called "artifacts"), such as receive functions, channels, ports, documents, and organizations.
Microsoft BizTalk Server 2002 Toolkit for Microsoft .NET With the Microsoft BizTalk Server 2002 Toolkit for Microsoft .NET, developers can build complete BizTalk projects using Microsoft Visual Studio .NET and orchestrate ASP.NET XML Web services.
Microsoft BizTalk Server 2002 Service Pack 1BTS 2002 SP1 contains a collection of hotfixes and security fixes, as well as support for Windows Server 2003. Before installing BizTalk Server 2002 SP1, it is strongly recommended that you carefully review the documentation located in the Related Resources section to the right.

GotDotNet Workspaces
BizTalk Server 2004 Generic Adapter SampleMicrosoft® BizTalk® 2004 enables connectivity to external systems through an extension API called the Adapter Framework. Adapters in BizTalk are the main carriers for messages (either into the BizTalk messaging repository, called the "message box" or out of it). Out of the box, BizTalk 2004 comes with adapters for open protocols such as file, http, soap, ftp and others. System-specific adapters for SAP and MQSeries are also available. The adapter framework, while being versatile and enabling extension point for writing adapters for everything you can think of, are non trivial to implement and require thorough understanding of the interface with the BizTalk runtime. This document describes a "generic adapter" (its code is accompanied), which serves as an abstraction layer and enables writing "custom adapters" quickly and easily.
BizTalk Server Adapter for SharePoint LibrariesThis article describes a Microsoft® BizTalk® Server adapter that facilitates end-to-end communication between front-end Microsoft Office System 2003 applications and back-end enterprise systems. SharePoint libraries store Office System XML data while BizTalk Server orchestration provides services for integrating that data with back-end systems. This adapter makes SharePoint libraries accessible to BizTalk Server 2004 to provide an end-to-end integration path from the Office System 2003 applications to back-end enterprise systems
BizTalk Server 2004 Beta – Request BrokerThe Request Broker scenario sample for Microsoft BizTalk Server 2004 Beta demonstrates how you can use BizTalk Server 2004 to implement a uniform request handler solution. The sample is intended to demonstrate development best practices to be used when building applications on BizTalk Server 2004. Annotated source code is included for review to help you understand how the application was archtected and built.
BizTalk Server 2004 Beta – Request for QuotationThe Request for Quotation for Biz Talk 2004 Beta demonstrates how you can use BizTalk Server 2004 to implement a RFQ solution. The sample is intended to demonstrate development best practices to be used when building applications on BizTalk Server 2004. Annotated source code is included for review to help you understand how the application was architected and built. Documentation is also provided which explains the scenario in detail including instructions for setting it up and running it.
BizTalk Server Fail Fast Tutorial and sample AICFail fast process is the process where Microsoft BizTalk Server 2002 shuts down an XLANG schedule instance even if it is not completed. In the fail fast process, the DTC transaction rolls back and the XLANG schedule shuts down without calling any On Failure or Compensate code. In highly sensible systems this can force the developer to create a tracking mechanism to make sure all instances completed, and re-try if not. To make this process easier, we replaced the Generic AIC with our own AIC which sends a Message Queuing message to a tracking queue and only then send it to the original private queue.

BizTalk Bloggers
Owen Allen has a BizTalk Server category on his blog. His blog covers Microsoft E-Business Technologies including Content Management Server and Commerce Server as well as BizTalk Server.
Scott Woodgate's E-Business OutBursts blog is all about BizTalk Server (he also wrote Microsoft BizTalk Server 2004 Developer's Guide and is on the BizTalk team).
Sylvain Duford has a blog on Enterprise Integration with a lot of BizTalk Server content.
Kevin B Smith was a developer on the BizTalk core engine.
Speaking of BizTalk Core Engine, they have a blog too!
Scott Colestock’s blog is on BizTalk Server, business process automation, and service-orientation.
Jan Tielens has a BizTalk category on his blog.
Darren Jefford has a BizTalk category on his blog.
Paul Brown, the "BizTalk Hacker", has a BizTalk Server 2004 blog.
Laurence Timms has a BizTalk-focused blog.
Lamont Harrington has a BizTalk category on his blog.
Charles Young has a BizTalk category on his blog.
The BizTalk Visionary has a BizTalk-focused blog.
I have a BizTalk category on this blog too.
Christof Claessens' WebLog.
Jeff Lynch is a BizTalk Enthusiast.
Martijn has a blog on E-Commerce, EAI, BizTalk and .NET.
Gilles' Weblog has lots of good BizTalk 2004 information.
Eldar Musayev has a BizTalk blog.

Webcasts
MSDN Webcast: Getting up to speed with BizTalk Server 2004 for the Visual Studio .NET Developer
MSDN Webcast: Biztalk Server 2004 Orchestration for the Visual Studio .NET Developer
MSDN Webcast: Biztalk Server 2004 Architecture
MSDN Webcast: BizTalk Server 2004 Performance and Early Adopter Experiences
MSDN Webcast: Using Web Services with BizTalk Server 2004
MSDN Webcast: BizTalk Server 2004 Business Rules for the Visual Studio .NET Developer
MSDN Webcast: Integrating BizTalk Server 2004 with SharePoint
MSDN Webcast: Extending Mainframe Applications using BizTalk Server 2004 and Host Integration 2004
MSDN Webcast: Business Workflow and BizTalk
MSDN Webcast: Adding Business Activity Monitoring your BizTalk Server 2004 Projects
MSDN Webcast: Real-World BizTalk Server 2004 Editing and Mapping Techniques
MSDN Webcast: Building on BizTalk Server 2004 Human Workflow Services for the Visual Studio .NET developer
MSDN Webcast: BizTalk Server 2004 EDI with and without the Covast Accelerator
MSDN Webcast: InfoPath SP1 and BizTalk Server
MSDN Webcast: Migrating from BizTalk Server 2002 to 2004
MSDN Webcast: Building BizTalk Server 2004 Adapters for the Visual Studio .NET Developer
MSDN Webcast: Advanced Orchestration Concepts in BizTalk Server 2004
MSDN Webcast: Extending Mainframe Applications using BizTalk Server 2004 and Host Integration 2004
MSDN Webcast: BizTalk Server 2004 Adapters for the Visual Studio .NET Developer

Newsgroups (Microsoft-sponsored)
Topic
Web-based client
Newsreader
Administration
HTML
NNTP
Application integration
HTML
NNTP
Framework
HTML
NNTP
General
HTML
NNTP
Library
HTML
NNTP
Non-XML
HTML
NNTP
Orchestration
HTML
NNTP
SDK
HTML
NNTP
Server
HTML
NNTP
Setup
HTML
NNTP
Tools
HTML
NNTP
Financial Services
HTML
NNTP
HIPAA
HTML
NNTP
HL7
HTML (GotDotNet Community)
RosettaNet
HTML
NNTP

MSN Groups
BizTalk Server Stuff

Tips and Tricks
Deployment - tips for deploying BizTalk Server 2000.Development - tips for BizTalk Editor.Development - tips for BizTalk Mapper.Development - tips for BizTalk Orchestration Designer.

Articles
Database Integration with Microsoft BizTalk Server 2002By Scott Woodgate, Microsoft Corporation
Business-to-business data processing requires data interchange that uses XML as the ubiquitous, extensible, and platform-independent transform format. The challenge is how to reconcile the requirements of relational data stores and hierarchical XML data. This article focuses on providing reusable samples and techniques for integrating Microsoft BizTalk Server 2002 and databases, with specific reference to leveraging Microsoft SQL Server 2000.
Orchestrate Web Services with BizTalk Server 2002By Randy Holloway
BizTalk Server supports the defining and changing of business processes through BizTalk Orchestration, which enables messaging and the integration of application components. Randy explains how to use BizTalk Orchestration and Web services integration.
Microsoft BizTalk Server 2002 First LookBy Hitesh Seth
The author takes a quick look at BizTalk Server, including a useful image showing the BizTalk architecture.
BizTalk Server 2004: Harnessing Data and ContentBy Jame Healy
.NETDJ Guest Editor Jame Healy recently interviewed Microsoft's Scott Woodgate, lead product manager for Microsoft's E-Business Servers group. In this exclusive interview, Woodgate talks about the history of BizTalk Server, the process of developing a new BizTalk Server version, and bridging the gap between developers and business analysts.
A Basic Introduction to Messaging with Microsoft BizTalk Server 2004By Christof Claessens
BizTalk Server 2004 has just been released and a lot of people are planning to hit the road with it. While BizTalk Server 2004 has lot to offer, this article focuses on the core workings of this brand new server, more in particular: messaging.
BizTalk Baby StepsBy Christoph Schittko
The lack of BizTalk developer documentation however, is making it very hard to take your first baby steps with BizTalk. You feel like a toddler with the urge to run, but you first have to master taking simple steps first. I had quite a few moments where I just wanted to plop on my butt an cry until my mommy comes and makes it all go away ... I hope this article will help some people to get past the baby step phase quicker and get them running in no time.

Saturday, May 14, 2005

BizTalk Links
Links taken from http://pluralsight.com/wiki/default.aspx/Aaron/TheBiztalkWiki.html

MSDN Sites
BizTalk Server Developer Center
BizTalk Server Community
Biztalk Webcasts
MSDNTV
Developing for Biztalk Server 2004 Inside Visual Studio .NET
Building Your First Business Process
WSE 2.0 Adapter for Biztalk Server 2004
Advanced Orchestration Concepts in Biztalk Server 2004 - Convoy Processing
BizTalk Server and 'Indigo'
Installation Guides
Microsoft BTS 2004 Installation Guide
The Quickstart Guide to Installing & Configuring BTS 2004 for Windows Server 2003
The Quickstart Guide - Multi-Box
BizTalk Installation Troubleshooting
Updating a VPC Biztalk Install
Extra Downloads / Utilities
Official Product Updates (SP1, ODBA, updated documentation, SDK refresh, etc)
BTS 2004 Adapter for Web Services Enhancement 2.0
BTS 2004 Adapter for MSMQ v2.0
BizTalk Partner Adapters
BizTalk Assembly Viewer
BizTalk 2004 Management Tool
BizTalk Server 2004 Performance Tool
Samples
Enhanced Validator Sample
Jon Flander's Samples
Whitepaper Listings
Microsoft Whitepapers - Published
Microsoft Whitepapers for Community Review - MSN Groups
Recommended Whitepapers / Articles
Understanding BTS 2004
Developing a BTS Solution
BTS 2004 Internals (awesome stuff)
BTS 2004 Web Services
Using XML Schema in BizTalk
Security in BTS 2004
What is BPEL?
Implementing Process Integration - PAG
Developing Integration Solutions with BTS 2004
Authoring Adapters
BizTalk Server 2004 Performance Characteristics
BizTalk Server 2004 Technical Guide for High Availability
BizTalk Server 2004 Convoy Deep Dives
Microsoft Biztalk Blogs
The Blogger's Guide to Biztalk (an aggregation of numerous blogs)
Microsoft Community Blogs
Scott Woodgate
Michael Woods
Biztalk Core Engine Weblog
BizTalk Server Performance
BizTalk Chalk Talk
Biztalk Customer Response Team's Blog
MSDN Webcasts Weblog
David Hurtado's Integration Traces
Darren Jefford
Kevin Smith
Stephen Kaufman
Recommended Blog Entries
How messages work in BTS 2004 Orchestrations
Constructing BTS 2004 XML Messages
BizTalk's Pub/Sub
Receive Pipelines
Promoting schema properties into message context
MSMQT Testing / MSMQ Acks
EAI Using MSMQ, .NET, and BTS 2004
BizTalk 2004 Flat File Schema Tutorial 1
Remote HAT
Create an Encryption Functoid
Deployment Framework for Biz Talk 2004 Applications - based on NAnt
DTC Transactions in an Orchestration

Tuesday, April 19, 2005

In the business world the rearview mirror is always clearer than the windshield
-Warren Buffett
.NET vs J2EE
December 2004 column in SD Times, Allen Holub, a Java expert and one of its staunchest defenders, questioned the relevance of the JCP, saying, "Just look at created-by-committee junk like EJB (Enterprise JavaBeans Technology) and JSF (JavaServer Faces). I personally believe that EJB has been responsible for the failure of more companies than almost any other single technology. EJB is too expensive at every level."
(extract taken from https://partner.microsoft.com/global/40009708)
TOP STORY
Adobe agreed to buy Macromedia for $3.4 billion in stock, in a deal that would create a software company with broad ability to distribute media to PCs, cellphones and hand-held devices.

Acquisitions are on the rise and the order of the day is to acquire your competitor and get his market share. Though the compaq taker over was not very successful for HP.. it was due to the fact that the products of the merger was not strategically aligned by HP. Whereas Macromedia take over appears to be promising for Adobe. In time we will know.

Thursday, April 14, 2005

Courage is worth nothing if the gods withhold their aid
-Euripides

Wednesday, April 13, 2005

Answers of life:

Life gives Answers in Three ways,
It says YES and gives Whatever u Want,
It says NO and gives u Something Better
It says Wait and gives u the Best

Tuesday, April 05, 2005

There are two primary components to IT... the design/development of services, and the opertaion/delivery of services.
"Business - IT Development" alignment is driven by business requirements (functional, service level, cost, time-to-market, etc). SOA isn't a "requirement", but a technique that helps IT achieve the desires of the business to support their business processes.
"Business/IT Operations" alignment is properly performed as defined by ITSM/ITIL Best Practices, and as illustrated in my graphic below. Business and IT need to work as a intimate partnership to define, implement, deliver, and continually refine an optimized Service Portfolio at contracted service levels and an established and predictable cost point. Again, SOA is simply a technique that helps IT achieve operational excellence.
All other functions are internal to IT. The fact that requirements are fleshed out in an Agile fashion and constructed/deployed using a SOA strategy is meaningless to the Business Unit. They simply want IT to build the capability they need, adjust it when asked, and deliver it as expected.

Monday, April 04, 2005

John Crupi - CTO of Sun's Enterprise (On SOA)
"[W]e cannot do SOA without a mutual effort between IT and the BU. Gone are the days of throwing the requirements over the fence and hoping it hits. Not only do these two groups have to work together, they have distinct roles and responsibilities. Basically, the BU runs the show and owns the business drivers, use-cases and processes. IT implements the BU requirements and owns the service definitions. It's unfortunate that we really do have to refer to this as a "shift", because we should be doing this anyway. But, the reality is that IT and BU typical function as disparate groups and rarely work together to have the business use-cases drive the process and service definition."
John Evdemon made two points on SOA relevant to this issue several months ago:
SOA does not enable or ensure the alignment of IT and business. The IT industry has been promising this for decades – there is no silver bullet for aligning IT and business. Alignment of IT and business is an organizational issue that will not be resolved by an architectural design philosophy alone.
Service Orientation will happen in your organization in one of two possible ways: chaotically (typical approach) or in a disciplined manner. The path your organization takes (and the cost of later fixing that path) is up to you.

Tuesday, March 15, 2005

Why microsoft products ?
After nearly half a decade of working on Microsoft platform i have just switched to a non microsoft software for data integration, the product is considered to be a leader in the segment but in the past couple of weeks have just realized why the development cost are so low in the MS platform.
1) There are enough news groups about the product im working on
2) the site of the company looks more like someones hobby site ( content !!!..where is it ??!)
3) The application doesnt have an intuitive look and feel and things dont come naturally to the user as a MS product.
4) the messages/ prompts were written by some guy who doesnt know the grammer of the english language !! i didnt know if i should click on Yes/No !!!
5) Google results are very poor for the product.

Been working on .NET since Beta 1 but even then i had more documentation then.... hmm.. im begining to see the light ....
Microsoft Acquires Groove Network :
"The nature of work itself has changed. Many of us, for better and worse, work in the office, at home, in hotels, at Starbucks." -- Groove Networks CEO Ray Ozzie, during a conference call last week to discuss his collaboration-software company's acquisition by Microsoft

Monday, March 14, 2005

Microsoft Acquires Grove Network

Groove Network Owner Ray Ozzie now another CTO at MS
Ray Ozzie was one of the creators of Lotus Notes !!

Groove products to integrate with Longhorn and the upcoming version of MS Office

Thursday, March 10, 2005

Microsoft Chairman and Chief Software Architect Bill Gates
revealed his company's collaboration and communication vision
yesterday and unveiled two new Microsoft Office System products,
Microsoft Office Communicator 2005 (code-named Istanbul) and
Microsoft Live Communications Server 2005 Service Pack 1 (SP1), and
one new service, Microsoft Office Live Meeting 2005. Gates also
highlighted some of the technologies that Microsoft plans to ship in
the next Office version, code-named Office 12.
Multiple Child Aggregation:
An eyeopener docuement on Multiple Child Aggregation here
What ive been critizing all along seems to be the best approach .. duhhhh....
The document only describes the scenario on SQL Server and so the performance on Oracle is still debatable ;)

Tuesday, January 25, 2005

Heres a site with lots of good articles
Mostly useful for consulting and mangement type people
The details are published by the Wharton college and most
of the articles would be like the current affairs/ trends etc


The Top 10 Things Every CIO Should Know
Good artice, gives good pointers, at first glance i would say that the author just discusses simple ideas...but in reality thats all a CIO could focus on. How IT can can advance a company in its strategic direction.

Read the article here

The Top 10 Things Every CIO Should Know
Good artice, gives good pointers, at first glance i would say that the author just discusses simple ideas...but in reality thats all a CIO could focus on. How IT can can advance a company in its strategic direction.

Read the article here

Tuesday, January 18, 2005

22 Imutable laws of marketing
great read for geeks, Eric describes in brief about the 22 imutable laws of marketing here

Monday, January 10, 2005

The biggest adventure you can ever take is to live the life of your dreams. -Oprah Winfrey

'Fire is the test of gold; adversity, of strong men.'- Seneca, Epistles. Roman dramatist, philosopher, & politician (5 BC - 65 AD)

No one means all he says, and yet very few say all they mean, for words are slippery and thought is viscous. - Henry Adams (1838 - 1918)

I don't know the key to success, but the key to failure is trying to please everybody. -Bill Cosby

Aim for success, not perfection. Never give up your right to be wrong, because then you will lose the ability to learn new things and move forward with your life. - Dr. David M. Burns

Nothing changes your opinion of a friend so surely as success - yours or his. -Franklin P. Jones

A positive attitude may not solve all your problems, but it will annoy enough people to make it worth the effort.-Herm Albright

Human beings, by changing the inner attitudes of their minds, can change the outer aspects of their lives. -William James

Life is pleasant. Death is peaceful. It's the transition that's troublesome. -Isaac Asimov

Life is a sexually transmitted disease. -R. D. Laing

The supreme irony of life is that hardly anyone gets out of it alive. - Robert Heinlein

When the character of a man is not clear to you, look at his friends. -Japanese Proverb

Be not afraid of growing slowly, be afraid only of standing still. -Chinese Proverb

Science without religion is lame, religion without science is blind. - Albert Einstein, "Science, Philosophy and Religion: a Symposium", 1941

Thursday, January 06, 2005

Bill Gates at CES 2005 :
here
Time Management:
A NASA scientist says the devastating Dec. 26 earthquake off Sumatra may have caused the planet to spin 3 millionths of a second faster and wobble about an inch on its axis. .. Now thats time management from mother Earth :)


Wednesday, January 05, 2005

Multiple intelligence (MI):
Howard Gardner, a psychologist working out of Harvard University, developed this theory. His work encompasses studies and collaborations in the areas of giftedness, brain-damaged patients, idiot savants, normal children, normal adults, and diverse cultures.
Multiple intelligence gives employers, teachers, and parents an opportunity to assess individuals and assist them in identifying and using their dominant intelligences. Most of us have 4 dominant intelligences. Targeting them and using them to create or enhance our performance is one way of applying this pluralistic theory.
The nine intelligences are:
Linguistic/Word Smart
Mathematical/Number Smart Logical/Problem-Solver
Interpersonal/People Smart
Intrapersonal/Self Smart
Musical /Rhythmic/Music Smart
Body Kinesthetic/Body Smart
Naturalistic/Nature Smart
Visual-Spatial/Picture Smart
Existential/Deep Thinking Smart

A brief description of each intelligence follows: Linguistic/Word Smart - Wired for words; Reading and writing come easily
Mathematical/Logical/Number Smart - Wired for numbers, problem solvers
Interpersonal/People Smart - Loves people; Understands personalities
Intrapersonal/Self Smart - Understands self; Wise; Teams make them weary
Musical/Rhythmical/Music Smart - Loves rhythm, rhyme, music, poetry
Kinesthetic/Body Smart - High energy
Naturalistic/Nature Smart – Loves the outdoors, animals, plants, classifying, and system building
Visual/Spatial/Picture Smart - Loves hands-on building projects, art, color, artifacts
Existential/Deep Thinking Smart - Ponders the "ultimate" questions of existence; An aspect of spiritual intelligence