CodeAttest

Martin Kulov's Blog

CodeAttest, Software testing, Quality assurance, Web Service Enhancements, VS Team System, Indigo, upcoming releases from Microsoft and anything else I find interesting to be shared.

August 29, 2005

VSTO debugging

Here is one great tip from Misha Shneerson. If you are developing Outlook add-in using VSTO be sure to set the environment variable VSTO_SUPPRESSDISPLAYALERTS to 0. This will show you every single security problem when Outlook is trying to load your add-in and you will save precious time debugging the problem.


# posted by Martin Kulov @ 3:42 AM |




August 07, 2005

MSDN Webcasts series

In case you have not yet got into details about SQL Server 2005 and ASP.NET 2.0 MSDN Webcast is a good place to start with. There are two new series that will help you catch up.

Essential ASP.NET for the Web Developer from Fritz Onion
http://www.microsoft.com/events/series/essentialaspnet.mspx

A Primer to Proper SQL Server Development from Kimberly Tripp
http://www.microsoft.com/events/series/msdnsqlserver2005.mspx


# posted by Martin Kulov @ 1:57 AM |




August 06, 2005

Willingness and Experience

A week ago I was reviewing some code to add a little bit of new functionality. That was the project that I have been managing for about 6 months. I knew that there was ugly and hard to maintain code there, because of the very short time to implement all the features. In some way I was prepared to find misuses of the .NET framework, dangerous constructions and magic numbers through the code. But I was not prepared to find the following.
In one of the forms there is a grid that shows all rows from a table in the database. I assumed that in order to show a new row I only need to add it in the database table. Needless to say when I did add the row it did not show up in the grid. Well I was stumped. How was this possible? The grid was supposed to show all rows from the table. Somehow the newly added row did not make it on the screen.
There were two possible choices. First – not all the rows were read from the database. This was very easy to track using the wonderful SQL Profiler. If you ever have to deal with application that uses MS SQL and you are debugging some data related issue my advice is: always start debugging data with the SQL Profiler first. That’s not the case with Oracle but that’s another story. So I found that all my rows including the new one are actually returned to the client. Second choice – the grid was not showing all the rows because one or another reason. After half an hour digging through various properties and custom xml of the third party grid control I found out the problem. Because of the nature of the data there were two types of data in this particular data table. The ones with ID below zero were system rows and were not supposed to be showed in the grid. On the contrary side the rows with ID above zero are expected to show up. You may think that I have created my new rows with ID below zero, but you are wrong. The grid actually used a filer to display only the meaningful rows, but instead to filter the rows out by ID, it was filtering them by name. For example: Filter = "([Name] = 'john') OR ([Name] = 'mike')". I felt a little bit helpless.
In all the efforts, endless code reviews and test cases to deliver quality code, nothing can help you better than the willingness and the experience of the developer to produce quality and easy to maintain code.


# posted by Martin Kulov @ 4:22 PM |




Totally disconnected

Today my ISP was down for about 24h. The feeling to be offline is a strange one. No rss feeds, no email, no mailing lists, no newsgroups, not even a single joke from the icq list. Totally disconnected.


# posted by Martin Kulov @ 3:31 PM |




This page is powered by Blogger. Isn't yours?

 




RSS Aggregate this blog


Communities to Communities 2008

DevReach - The Premier Conference for Microsoft Technologies in Bulgaria



Bulgarian Association of Software Developers

SofiaDev .NET User Group

International Association of Software Architects



Microsoft Most Valuable Professional

Microsoft Certified Trainer

Microsoft Certified Professional Developer

Microsoft Certified Technology Specialist

Microsoft Certified Solution Developer

Microsoft Certified Application Developer

View Martin Kulov's profile on LinkedIn



Recent posts




History




 
Copyright © 2004-2007 CodeAttest Ltd. All Rights Reserved.