For those who didn't catch the title, it is a play on words of the song: The Thrill Is Gone... that was made famous by B.B. King.

Some of you may know this and some of you may not, but the world of Information Technology is entering some foreign territory this week. At the end of this week, Bill Gates will no longer be at the helm of Microsoft, the world's largest software company.

A NewsWeek article talks at length about Gates' last few days in the cockpit of the software mogul, but what I find most interesting is the dichotomy between people that have been posting comments to the article. It is literally a comment of monumental praise, followed by a comment stating that he is pure evil or a monster. One poster even went so far as to say: "Bill Gates doesn't know anything about computers" and that "Microsoft has no idea what customers want". Hmm... for someone who knows nothing about computers, Bill Gates has made quite a splash. Wouldn't you agree?

Unfortunately, I must disagree with the poster's statement. Although my biases are obvious, what the poster fails to realize is that Bill Gates' vision over the past few decades has shaped what you want as a PC consumer. It's not possible to answer this question, but take a moment to consider it: What would the computing world be like today if there never was a Microsoft? You'd like to think that another company would have filled the void, but obviously we can't be certain of that.

It always disappoints me when people have these gross expectations of software that they don't have with any other product. Software should be robust, feature rich, flexible and cheap (if not free). Software should be developed to encompass every business process under the sun, but must not fail under any circumstances. Although these principles seem entirely valid, if you have expectations such as these in an industry as complex and fast-moving as software, you will continue to be disappointed; plain and simple. However, if you embrace the opportunity to constantly improve communication and technology for the world, you will find a lot of joy in your work. The PC industry, technology across the board, and the global economy would be very different without Microsoft. Millions of developers, administrators and businesses make a living off of what Bill Gates has built.

I cannot speak for everyone, but I will say this: Bon voyage, Bill. Thank you for providing the means by which many, many people receive a paycheck.


Technology Thoughts | PermaLink | Comments (0) | Monday, June 23, 2008


I have recently become unsatisfied with the stale content that is on my website at GrannetDotNet. I have decided that it is time for a change of scenery: GrannetDotNet is going to be re-faced sometime soon. The content will be somewhat the same, but I hope to publish more syndicated content from a number of blog areas in the near future to place on this site.

That being said, I am in a bit of a dilemma also with my blog. The current blog software that I use was written by myself and is several years old. There are many good blogging engines out there and I believe that I am going to use one of those. In a way, it is a sad thing to think about. This blog was the first piece of MeWare that I ever wrote and I kind of hate to see it go. But, it has been a good blogging platform and hopefully I can maintain the history that is in this little personal Web outlet.

More to come soon...


Site News | PermaLink | Comments (0) | Monday, May 19, 2008


Jason Hiner of TechRepublic today posted an interesting message to his blog about the recent happenings between Google, Microsoft and Yahoo. His post has some very interesting points, but a man by the name of Peter Buick from the UK posted a very interesting comment to the discussion of Hiner's blog posting. For more, please read: 'The Polite Street Mugger' from Buick's blog.


Technology Thoughts | PermaLink | Comments (0) | Monday, May 12, 2008


There are a number of instances in which you may need to handle file requests from your web applications in a custom fashion. HTTP Handlers provide us with a very easy to use means by which to extend our web applications to use ASP.NET to handle custom file types.

Click here to download the sample solution for this tutorial

Creating a Simple Handler

In ASP.NET, an HTTP Handler is a means by which to process a specific endpoint request. Specifically, an HTTP Handler is used to process specific file types from within your ASP.NET website or application. The .NET Framework gives you a tremendous amount of flexibility and power when creating custom processing for specific HTTP requests. In ASP.NET, an HTTP Handler is any component that implements the IHttpHandler interface. The contract of this interface defines two key members: the IsReusable property and the ProcessRequest method.

  • IsReusable: Gets a value indicating whether another request can use the IHttpHandler instance
  • ProcessRequest: Enables processing of custom HTTP requests. This is the heart of your custom HTTP Handler. The argument passed to this method is the HttpContext object of the current processing request.

Defining logic for these two members satisfies all that is necessary to create an HTTP Handler. When you have defined your handler, you will register the handler with the ASP.NET application using the <httpHandlers /> node of the Web.config. To register a handler, you must specify three attributes:

  • verb: This is the HTTP verb(s) that your handler will be used for when processing requests. The options are GET and POST
  • path: This is the path of the file to process. In this instance, any file with an extension of .simple.
  • type: The fully qualified type name of your HTTP Handler. In our example, this is SimpleHandler

After you have set up your web application using the above settings, you have successfully created and registered a custom HTTP Handler.

Now that you have an understanding of how HTTP Handlers work, let's do something a little fancier with our handler.

Creating a More Complex Handler

In the previous example, we built an HTTP Handler that simply flushed text out to the browser. Although this may satisfy some requirements, most real world usage of HTTP Handlers will be more complex.

Since the HTTP Handler provides us with access to the current HttpContext, we have access to the current HttpResponse object as well. We can use this object to send specific file types to the client. We can also send entire files to the client with the addition of a single HTTP header. In our ComplexHandler example, we will configure the application to handle RSS requests to a blog, download Word documents and flush a custom file to the client, all from the same handler.

The RSS request queries my blog for the RSS feed. It then transforms that RSS feed using a custom XSL transformation to display on a page. This process could very easily be modified to use a custom RSS source or generate only the RSS rather than a transformation of the RSS.

As you can see, HTTP Handlers bring the power of ASP.NET processing to custom file types in an extremely useful way.


ASP.NET | PermaLink | Comments (0) | Monday, May 05, 2008


Tony Patton is a clever guy who writes for TechRepublic. He writes the ASP.NET column that I read frequently and he recently posted an editorial titled: When will Microsoft fully embrace Web standards?

His musing was targetted at specific Microsoft applications such as SharePoint 2007 and Outlook 2007. Although I partially agree with his points, I feel that he is missing the main point of distinction: SharePoint is an application - not the web. Shown below are my thoughts that I also posted to the discussion of the blog entry.

Discussion Post:

I really like Tony's columns, but this one has a few points which are not entirely related to one another.

SharePoint is not the web, nor is it simply a website. SharePoint is an application. It is a powerful and highly configurable application that integrates with desktop applications (MS Office), back office applications (Dynamics/CRM), mail servers (Exchange) and yes, even Internet Explorer. Since SharePoint sites/portals are generally secured to only company employees or partners, the environment in which they run is essentially controlled/contained. Unfortunately, much of the integration required by this application is beyond the scope of W3C standards. That doesn't justify the point, but it does clarify it a bit.

Given their past, I know that it is easy to vilify Microsoft in the quest for a standard web. But Tony touched on Microsoft's effort with his mentioning of the rich standards support in VS2005 and Expression Web. The HTML editor in VS2005 will tell you if you are using an element or attribute that is out-dated or deprecated from the current standard. You can also choose to have your entire site examined for WCAG and if you have a violation of WCAG, it will tell you the WCAG section as well as instruct you as to what you must do to correct it. Also, all Microsoft provided ASP.NET 2.0 server controls emit standards compliant markup.

The bottom line is this; SharePoint and Outlook are applications - not the web. Although they use HTML, there is a significant difference. Standards have their place and are a very good thing, and when it comes to providing standards compliant tools for developers, Microsoft has made tremendous improvements.


Technology Thoughts | PermaLink | Comments (1) | Friday, November 02, 2007

 
Blog Calendar
Other Sites
Blog Roll