January 2005 - Posts
I have been using Internet Explorer for quite some time now. Last week, my friend introduced me to Firefox and I was immediately hooked! Why? Here are some reasons:
- First off, I like its speed. On any site, it downloads the text first and then the images. This way, you can start reading content as soon as it is available. In IE, I used to wait for entire page to load because if I keep scrolling while it is loading, my page looks like a barcode piece with all images and text elongated (until the page is completely rendered)
- The menus and options are quick slick and I can find the ones that I want very easily. I also like the alerts that get displayed in the pages when something is missing. For example, if you do not have the Macromedia Flash player, you will get an alert at the top and a image placeholders that you can click to then download it.
- This is the feature that I like best: Whenever Firefox detects that a site has an RSS feed, it shows an orange image at the status bar. Clicking this, you can then subscribe to the RSS feed and all the newly published articles are right there in your toolbar! With this, I do not have to write my own RSS reader or visit the web page to find out what's new. Its all there in my toolbar. Really cool!!
- I can search on Google, Amazon, EBay etc right from the toolbar and do not have to visit that particular site.
- The tabbing feature is also really good. Rather than having multiple instances of the browser open when you click to open in a new window, Firefox opens it as a new tab that you can then view independently and close too. I found this invaluable when I had to recently do some searching for WMI. I just kept opening tabs and was seamlessly sifting through them (rather than pressing Ctrl+Tab to cycle through the instances).
Interested? Download it here: Firefox. You can read about the features here: Firefox Features and finally, a good comparison with Internet Explorer: Comparison
I've been waiting for this upgrade for some time now and it is finally here. I was introduced to LogParser originally in the IIS 6.0 Resource Kit. We basically had a need to provide some white papers for our customers to analyze log files and debug logs efficiently. Rather than write our own custom tools to parse the various types of logs, we found this tool and it was great help. Now, the updated version is even better. You can now read more input formats (like XML) and then generate new types of output formats like charts (in the earlier version, we imprted the data into Excel!). Either ways, this is a great tool that you can have in your machine to read arcane file formats and text files using what? SQL! The syntax used to query the various input file types is very similar to T-SQL and many operators it supports are things that you would be familiar with, if you know SQL.
Go ahead, what are you waiting for? Download it from here: LogParser 2.2
More information on LogParser: About LogParser
I must say that my familiarity with BizTalk has increased in the past few days. After my initial experiences with it, I've learned the ropes now and am more familiar with debugging issues and finding the right help spots.
However, one thing that I do not like so much is, the help system. The model that BizTalk folks have followed, is to enable the help to be downloaded incrementally as and when new content is available. Many topics in the help point you to more information on the web that you can download and augment the help system. This is where I had another bad experience!
When I installed BizTalk initially, I had a full fledged help system with all tutorials and SDKs installed. When I was reading about HTTP ports et al, the help page pointed me to another web link to download more information and I did do that. Now, after applying the help update, my tutorials and SDKs are not there! That whole section has been wiped out and there is another link to download that portion. If I do download it, nothing happens.... :-(
On the other hand, I like the MS Office help system. If internet connectivity is there, it checks the web for updates and syncs your local content, otherwise, it just checks the local content. This way, updates are also streamed and at the same time existing stuff does not get wiped out.
I had to write about this :-)
We are in the process of evaluating BizTalk Server 2004 for an integration project and I was initially wanting to play around with the same to know more about its inner workings. I had seen many webcasts on BizTalk 2004 by Scott, but had not tried anything, so I rolled-up my sleeve and started today (19th).
Initially, I had SQL Server 2005 on my machine and after a few hours I realized that BizTalk 2004 was not going to work in SQL Server 2005. I was little suprised, since all it was doing was creating a bunch of databases and tables and firing queries against it, but I encountered many errors during the setup. Bottom-line, it does not work. So I had to un-install SQL Server 2005, install SQL Server 2000 and then install SQL Server 2005 so that they both work side-by-side. Post this, BizTalk configuration installed without a hitch on the SQL Server 2000 instance.
I then used Visual Studio .NET 2003 to create a sample project (based off the BizTalk tutorial) and followed everything to the T (or so I thought :-)). When I started deploying the solution, I received a invalid cast specification error. Little did it strike me that I should search Google first for this. So I tried debugging the solution for over an hour and was unsuccessful. Then, google came to the rescue when I pasted the error to search for. It turns out that there is a COM+ Hotfix that I needed to install for eliminating the error! Ok, so back to some downloading of the hotfix and installing the same and in the end, I had to restart my machine for the hotfix to work (sigh....)
After installing the hotfix, the deployment worked and I started to test the solution. The basic example was to pick a file from a location and drop it in another location based on a simple condition. But, this did not work! Again, back to debugging for around 30 minutes and I then saw that there was a tool called Health and Activity Monitoring (HAT). Should I use it, I did'nt know, since I was new to BizTalk and was just trying out a simple example. Anyways, I fired up the tool and did a quick reading and after using the appropriate menu options, I located the error. All the messages that I had placed in the receive location were queued up and on drilling into the error, I noticed that the error message looked like a XPATH error. Back to some more debugging.....
The error now was I had created the XML schema file a bit wrongly (misplaced one element in the hierarchy) and BizTalk was not able to process it. So I corrected the same and then restarted the orchestration and this time, lo and behold, the solution worked. I almost jumped up in joy, but remembered that I was in the premises of the office. So I silently raised my hand in prayer and then tried out a few more experiments and they all worked. I still have a little experimentation to do, but I will defer it for tomorrow.
End of the day, after 5 hours of work with BizTalk, I had my first ever BizTalk program running (albeit after some frustrating times) and I was very happy. As I reflected on what I had done, I realized that the toolset that came with BizTalk was amazing in helping you design and debug a solution, except that the documentation does not say anything in the tutorial section about this. Am sure that many people trying out BizTalk for the first time can encounter errors and if there is a “Debugging the tutorial for dummies” kind of section in the documentation, it can really help people staying focused on the tutorial and working on it. That's my two cents of feedback....
Suffice to say that I will continue working with BizTalk more closely since I've started liking it now :-)
I've been using VPC 2004 for over a year now and feel that it is a great product from MS that allows you to “virtualize” machines so that you can install various types of applications without affecting your underlying (also called “host”) operating system. Recently, I was involved in majorly marketing VS 2005 to be used in our organization for all our release management servers so that testing can be easily done on various versions without having to spend days bringing up earlier versions to replicate a client issue.
In this regard, I remembered some of my collegues mentioning that other virtual machine applications allowed you to “factor” an existing physical machine into a virtual machine so that you can quickly do the convertion of an existing machine. While I was pondering about how useful this might be, I ran across the Virtual Server 2005 Migration Toolkit (VSMT) from Microsoft that does exactly that!! This was a feature that was missing in the earlier releases of Virtual PC and it is a great boon now.
VSMT is a free downloadable tool that simplies the migration of an existing operating system along with a set of applications from a physical server to a server running under a virtual machine managed by Virtual Server 2005. Suffice to say that the migration process requires quite a lot of networking basics and it is better to have your system administrator around when you experiment with this feature :-)
You can learn more about VSMT here: Virtual Server 2005 Migration Kit.
Recently myself and another fellow MVP (Vinod Kumar) hosted a chat about T-SQL enhancements in SQL Server 2005. The original scheduled date for this chat was December 16th. There was an overwhelming response for this chat for many people and we were short of time and had to propose a Part-II for this chat! You can read the transcript for Part-I of this chat here: SQL Server 2005 T-SQL Enhancements Part-I.
The second part of this chat was held on January 13th, 2005 and suffice to say that the response was again excellent. The questions and answers section was excellent and we ended up answering close to 50+ questions on all the various enhancements. End of day, it was an excellent chat and we loved doing it. The next proposal that we have is for the CLR integration in SQL Server. The date and time for this is yet to be scheduled.
The transcript for the second part has not yet been posted, but you can keep track of it here: SQL Server MSDN India Chat Transcripts.
Microsoft is making significant updates to the SQL Server 2000 and Reporting Services system very soon. SP4 will be released for SQL Server 2000 and will contain a whole host of big fixes (some of which are really significant and good performance boosters too). SP2 will be released for Reporting Services and will contain new functionality like client-side printing and integration with SharePoint 2003.
You can check out all the bug fixes that will be addressed in SQL Server 2000 SP4 here: Bug Fix List for SQL Server 2000 SP4.
You can also enroll yourself for testing out these betas. You will need to nominate yourself and based on certain parameters, MS can select you to participate in the beta. Here is more information on how you can do that: Sign-up for the betas.
I ran into this nice application when I was browsing around the SQL Server web sites. The application is called SQL Server Web Data Administrator and you can download it here: SQL Server Web Data Administrator
The tool allows you to do minimal management of remote SQL Servers (and also local) through a web interface. You have the option of using either the IIS web server or a .NET shared source web server that is shipped along with the tool called Cassini. The tool starts off by asking you to choose your choice of web server and then gives you a login dialog. After that, a list of databases are shown and you can play around with them. A simple query editor is also provided (although the results were splattered with ).
Not sure if the source of this tool is available for you play around with, but you can log any issues that you find with the tool at the SQL Junkies forums here: Forum for SQL Web Data Administrator.
If at all you are planning to write an article about T-SQL enhancements in SQL Server 2005 or are searching for some material for the same, look no further and don't attempt to write one :-) Here is an excellent article from Itzik Ben-Gan (Solid Quality Learning) that summarizes all the features very clearly and with good examples: T-SQL Enhancements. This is the most comprehensive article that I've seen that covers all the new features as of Beta 2.
Print this article out (around 90 pages) and you have an excellent book on T-SQL Enhancements in SQL Server 2005.
Yesterday (10th, January, 2005), I got my first SQL Server 2005 Service Broker (SSB) application working! I was always interested in this feature, but did not have time to poke around it more. Suffice to say that the feature is going to rock!
SSB allows you to write message-based applications in the database and this is a new thing. People have always tried to simulate some amount of asynchronous behavior in the database, but now, with SQL Server 2005, the infrastructure is all there for you. You can now write applications that can post a message in the database and have another application pick it up for processing. If you have worked with MSMQ, you know what I'm talking about.
The best thing in SSB is transactional messaging. What this means is, you can have an application that, within a transaction, updates some normal tables, posts a message, reads a message from some other application and then commit itself. If anything goes wrong in this gap, everything is rolled back (just as it would in a database transaction) and this is a really cool feature, since you are just programming in T-SQL transaction semantics, but messaging applications are also taken care of. The very fact that messaging is handled in the database means that you get excellent performance and also the reliability and security of a system like SQL Server for messaging application also.
I will writing about this cool feature in my web site (http://www32.brinkster.com/srisamp) soon, but you can also read about it here: SQL Server Service Broker
Writing web applications are very easy and with ASP.NET it becomes even more easy. But, is your web site performing to its requirements? Are you able to handle all the load that your site is generating?
Writing High Performance web applications is not as difficult as you think if you follow some basic principles of coding and avoiding some common pit falls. In an article by Rob Howard, you can read about the top 10 tips that you should be aware of, when writing high performance web applications. Read the article here: Writing High Performance Web Applications.
Am back with a vengance to blog!
Been very busy over the last year doing some hard core architecture work and the arrival of my 7 month old son has kept me on my toes. Chaning his diapers was a pressing need than blogging or writing for my web site :-) Anyways, here's wishing you all a happy new year 2005!
This year will see me actively blogging atleast twice a week on things that I find interesting. Also, I will be updating my web site with some articles on SQL Server 2005 ASAP.