# Sunday, May 01, 2005

It's May Day Bank Holiday Weekend so I was going to try and stay away from the blog but after a testing afternoon with the new Team System Beta I thought I'd better share.

Firstly the install. I created a new Virtual PC image of Win2k3 SP1 to install the Team Foundation Server on. What the install guide doesn't tell you is that if you turn a server into a domain controller after installing Internet Services then the web won't work. You only find this out after installing SharePoint Services and following the troubleshooting guide when things don't work. After reinstalling SharePoint, Reporting Services and Internet Services things looked better and the Team Foundation install worked first time which was much better than my Beta 1 experience. However, after install, Analysis Services and Internet Services are hammering the CPU for no reason that I can determine. Installing the Visual Studio client was just as frustrating as the Beta 1 uninstall doesn’t clean up too well. After a couple of failed attempts I found this tool to clean up before installing.

Connection to the Foundation Server worked first time but failed to create a portfolio project complaining that the methodology could not be found. I haven't been able to get any further with this. The non-team bits do pretty much exactly what it says on the tin although the Intellisense is a little aggressive. The performance stuff also works well but the testing tools crashed the development environment every time I tried to run a test. This maybe due to the installation difficulties but I can't tell. Time to put it all back in the box and wait for the release I think.

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Sunday, May 01, 2005 8:03:28 PM (GMT Daylight Time, UTC+01:00)  #    Comments [2] Trackback
# Sunday, April 24, 2005

These guys are driving me nuts so I'm afraid I've had to protect my site by forcing you to login before changing anything. If you feel you need access then let me know and I'll give you a password.

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Sunday, April 24, 2005 6:55:19 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback
# Saturday, April 23, 2005
by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Saturday, April 23, 2005 1:12:10 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback

I removed the old Betas of Visual Studio and Yukon from my home machine this morning and to check everything was still OK I fired up Query Analyser to fire a quick query – “SELECT TOP 5 * FROM sysobjects”. This failed with a syntax error complaining about the TOP 5 part of the clause.

I was about to bite the bullet and reinstall SQL 2000 as well but noticed the database I ran the query in was an old one. A quick switch to the master database and the same query works fine. It turns out the previous database had a compatibility level of 65 so none of the new syntax will work.

One thing did get hosed on the uninstall – SQLDMO which is crucial for Enterprise Manger to run. To fix it execute the following:

regsvr32.exe “C:\Program Files\Microsoft SQL Server\80\Tools\Binn\sqldmo.dll”

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Saturday, April 23, 2005 12:58:21 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback
# Saturday, April 16, 2005
But can you wait until I’ve finished downloading it
by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Saturday, April 16, 2005 10:03:15 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback

Whilst my computer was performing its usual scan I had a bit of a panic because of the words in the dialog box below.

Ms_antispyware

I think what they intend is to list any detected spy-ware after the “:“ but at a quick glance it looks like something has been found. All they needed to do was add “(None)” after the phrase and I would have avoided a heart attack.

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Saturday, April 16, 2005 12:11:17 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] Trackback
# Sunday, April 10, 2005
Goes the the poor person who used MSN search for “help me i need to get my girlfriend back” and was referred through to my home page…
by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Sunday, April 10, 2005 8:37:43 AM (GMT Daylight Time, UTC+01:00)  #    Comments [2] Trackback
# Wednesday, March 23, 2005

Well the news about VSTS pricing is out and everyone is talking about it. If you want all these whizzy tools that Microsoft have been wooing us with over the last year then it is going to cost you more, a lot more. Plus their “simpler approach to MSDN subscriptions” is completely the reverse of reality. To tell the truth, it feels like I just caught a good friend sleeping with my girlfriend. Part anger, part disappointment and a desire to get them both out of my life.

Most of what needs to be said has already. Of particular note are articles for Scott Hanselman, Mike Gunderloy and Eric Bowen (read the comments). The only thing I’ll add is a response to the comment from Prashant Sridharan that “If you want the other stuff (which you probably aren't using right now anyway, or are probably paying a ton for as it is) we're giving you a very convenient and low cost upgrade to the Suite.” Just two points – MSDN Open Licensing has never been convenient and, as for the cost, we have already spent the money on the tools that supposedly cost a ton: Compuware (a ton), Perforce (cheap), FogBugz (very cheap).

So Scoble, I’ll be interested to see how you round up all the comment in blog-land on this one because, well, markets are conversations and it seems some Microsoft bloggers are censoring their comments sections…

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Wednesday, March 23, 2005 10:42:53 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] Trackback
# Saturday, March 19, 2005

After spending an untold number of hours trying to get a Reporting Services Extension to work I thought I should pass on the knowledge to others… Basically, it’s all about security and the rssrvpolicy.config file. This file is a little confusing especially as the default installation uses a weird indent. This article on code access security pretty much covers everything except where to put your new code group definition.

<CodeGroup class="FirstMatchCodeGroup" PermissionSetName="Nothing">
    <
CodeGroup Name="Report_Expressions_Default_Permissions"/>
    
<CodeGroup class="FirstMatchCodeGroup">
        <
IMembershipCondition Zone="MyComputer" />
        <
CodeGroup Name="SharePoint_Server_Strong_Name"/>
 
        <
CodeGroup Name="YOUR_CODE_GROUP_HERE"/>

    </CodeGroup>
</
CodeGroup>

I have removed has much as possible from the file to illustrate where your new definition goes. See the nesting? The outer one says match the first inner one or set permissions to nothing. Then a code group Report_Expressions_Default_Permissions sets up the default expression permissions. The next code group has a membership condition of Zone="MyComputer" with a bunch of full trust Microsoft code groups. Finally, the last one is for SharePoint. Your new code group goes directly after this one at the same level.

Hope that saves someone some time.

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Saturday, March 19, 2005 7:23:12 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] Trackback
# Sunday, March 13, 2005
by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Sunday, March 13, 2005 10:50:42 AM (GMT Standard Time, UTC+00:00)  #    Comments [0] Trackback
# Saturday, March 12, 2005

Since installing the blacklist I have had a noticeable drop in referral spam which is good news. The thing that does concern me is false positives. I have had to drop a number of keywords from the list because they are just too common: "hole" appears in "whole" which one search provider uses to tag the query with "wholeinternet"; "golf" was in the list but I since I am buying one there is no reason to block it.

The one keyword I am undecided about is "virgin". There are a high number of spammers still using the keyword but it means that every referral from virgin.net (there is a search engine there too) will get a 404. Koan too has changed her URL; can you guess why yakushitsu.blogspot.com gets blocked?

So, next time you get a 404 response back from a web site then check who referred you in the first place. They maybe stopping you from seeing the page so try pasting the URL into a new browser window. To the users of the virgin.net search engine - I am sorry but you will never see this post.

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Saturday, March 12, 2005 10:27:53 AM (GMT Standard Time, UTC+00:00)  #    Comments [0] Trackback
# Saturday, March 05, 2005

This update to the original application blocks has recently been released. After a couple of weeks developing with it I’ve decided that I’m going to ditch it and go back to the old blocks. There is lots of really useful functionality but what I’ve found boils down to two main problems.

The first problem I’ve been wrestling with is the flexibility in library configuration. I applaud the flexible storage mechanism and the excellent configuration application but, having tried to add my own provider class, I think it is too complicated. You need to derive three classes for every provider – ConfigurationView, ProviderFactory and ProviderData. The equivalent code written without the Enterprise Library is about half as much.

I also wonder what the benefit of having a system administrator rework your exception handing? The whole idea of exceptions is to only catch those you are capable of handling. If your handler catches a SqlException but the configuration is changed to wrap it in a MyException then the whole thing is going to stop working. I can just imagine the support calls:

Support: “Hello, Exony support”

Customer: “Er, hello. Your application isn’t working.”

Support: “OK, well looking at the deployment logs I can see it passed it’s customer acceptance tests. Have you changed anything recently?”

Customer: “Well I used the configuration tool to modify the exception handling.”

Support: “You shouldn’t do that. It’s not meant to be changed.”

Customer: “Oh, why is it there then?”

Support: “I dunno, let me ask an engineer… OK, he says why are we all here?… Maybe you should just change it back.”

The other issue is, whilst some parts of the library are incredibly configurable, the bit’s you really need access to are inaccessible. For example, in an enterprise application, it’s likely you might have a backup database connection. With this in mind, there doesn’t seem to be a way to enumerate all the database instances configured. I also can not find a way to create a database instance against a programatically generated connection string.

Some other minor problems I could live with but worth mentioning are:

  • Logging is slow compared to other libraries
  • You can’t store all your configuration in a single app.config [Edit: this is now possible with the extension library]
  • The documentation is too much “look at this cool design we did” and not enough “how to do…”
  • The fact that a patch had to be released fixing custom storage providers tells me that no one tested this feature – how much more wasn’t tested?

Hopefully I’m wrong on all counts and someone will provide me with answers to all my problems so I can do the right thing and continue using it. Maybe next week I’ll have better news to report.

by This posting is provided "AS IS" with no warranties, and confers no rights.
posted on Saturday, March 05, 2005 10:01:15 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] Trackback