Repeated conversion of Web project file

Posted on Wednesday, September 30, 2009 by Nicki

I had the dubious honour of converting a VB Web app from Visual Studio 1.1 to VS 2008.

Every time I opened the converted (or so I thought) project, it gave the following message:

The following Web projects must be converted to the new Web Site format. The conversion process will remove all source control bindings and the project will not be under source control after migration.

After the 3rd attempt it was not funny, so I googled it and found this fix:

1. For the project that's causing you the issue, backup your solution file, your project file, and the "hint" file associated with your project file (the .vspscc file sitting in the same directory as your project) to some other location.
2. Check out your solution file and the project file and close VS
3. Open the project hint file (.vspscc) in notepad, change the ENLISTMENT_CHOICE from COMPULSORY to "ENLISTMENT_CHOICE" = "NEVER"
4. Open your solution file in notepad, remove that line SccProjectEnlistmentChoiceX = 2 (X is the number that corresponds to your project that is causing you the problem). Also, if you see the line "SccWebProjectX=true" (x is again the number of the project in your solution), remove that as well.
5. Open everything in VS again, and assuming everything works now, check in your files.

Link to original article here.

IIS App pools and process ids

Posted on Tuesday, September 29, 2009 by Nicki

Have you ever needed to know which application pool is which process id? It turns out there is a script installed with Windows Server 2003 that can give you that information.

Just execute iisapp.vbs to list the app pools and the process id of the worker process.

More information here

OpenDNS for web filtering

Posted on Wednesday, September 23, 2009 by Nicki

If you have kids, or you manage the company firewall/proxy server, this service can be of great assistance to block unwanted sites. It is DNS based, and managed from a browser, so you have little (possibly in the case of dynamic ip) or no software to install to start using the service. All you have to do is change the DNS servers on your firewall/proxy.

For more info, go to to their site.

mythtv and cifs (samba)

Posted on Tuesday, September 22, 2009 by Nicki

Due to some error in the linux NFS client, I had to use CIFS to mount the storage from FreeNAS on my mythbuntu box. This seems to have created a new issue, whereby recordings do not get deleted by the backend due to "Text file busy" errors.

Because my storage was eventually going to fill up, I wrote a script to delete the recordings from the database and filesystem, and scheduled it in cron. It only deletes recordings that have been watched and with autoexpire on older than 14 days, plus LiveTV recordings with autoexpire on older than 7 days.

The script was in a .gz in the referenced directory, so I had to uncompress and chmod it.

mysql -u mythtv -ppassword mythconverg -e "delete from recorded where autoexpire=1 and watched=1 and endtime < curdate() - 14;"
mysql -u mythtv -ppassword mythconverg -e "delete from recorded where storagegroup='LiveTV' and autoexpire > 0 and endtime < curdate() - 7;"
/usr/share/doc/mythtv-backend/contrib/ --dodelete

Add CAPTCHA to your site, free

Posted on Wednesday, September 16, 2009 by Nicki

Google announced today that it has acquired reCAPTCHA, so I had a look at what reCAPTCHA offers. Turns out they have an API that lets you add CAPTCHA to your site. They have plugins for ASP.Net, PHP, Java, etc.

Have a look here.

ASP.Net AJAX Toolkit and 'AjaxControlToolkit' is undefined

Posted on Thursday, September 3, 2009 by Nicki

If your site uses AJAX, and you receive the dreaded 'AjaxControlToolkit' is undefined error, this might help you.

After some troubleshooting with Fiddler, I found out that I installed the FlatCompress ISAPI filter a while ago to test HTTP compression. It turns out this causes some problems with the ASP.Net AJAX toolkit. After I disabled it and restarted IIS, the error went away. Great. Now I can continue testing BugNET...

MyTechEd #Closing and final impressions

Posted on Wednesday, September 2, 2009 by Nicki

The closing presentation was informational as to what is coming down the line in terms of next generation user interfaces, etc. The insert by Arthur Goldstuck on broadband was very interesting.

Unfortunately I did not win the MVix PVR, or any other goodies for that matter.

MyTechEd #17 - Practical Web Testing

Posted on by Nicki

This was a very valuable presentation with lots of practical examples. Great to know some things are already available in Visual Studio 2008.

Link to presentation: download here

MyTechEd #16 - Inside T-SQL: Enhancements, Techniques, Tips & Tricks

Posted on by Nicki

This was a very informative session.

Keyword from the session: Insert statement multiple values, Common Table Expression, Using Hierarchy functionality for sorting, Inline functions, OUTPUT clause for INSERT, UPDATE, DELETE.

Link to presentation: download here

MyTechEd #15 - Understanding Microsoft ASP.NET Under the Covers

Posted on by Nicki

This was a VERY interesting session by a very knowledgeable presenter, Nic Goossens.

Link to presentation: download here

MyTechEd #14 - Team System 2010 Development Essentials

Posted on by Nicki

Some keywords from the session: Code Analysis,Extensions, Check-In policy, Work Items

Link to presentation: download here

MyTechEd #12 - Microsoft Visual Studio 2010 Overview for the Business Application Developer

Posted on by Nicki

An overview session with some demos.

Link to presentation: download here

MyTechEd #13 - How Microsoft and Others Use Team Foundation Server

Posted on by Nicki

This was a whiteboard session with some good panelists.

Some keywords from the session: Code Coverage, TFS Branching Guide


MyTechEd #11 - Using Virtualization to Improve Application Quality with Team System - Lab Management

Posted on by Nicki

This was a very interesting session to see some of the features that will be available in VS 2010 with regards to testing. Large software projects can definitely benefit from this. It just seems complex to set up and get going.

Link to presentation: download here

MyTechEd #10 - A Lap around Microsoft ASP.NET 4.0 and Microsoft Visual Studio 2010

Posted on by Nicki

Another most useful session by Mike Palermo.

Link to presentation: Download here

MyTechEd #9 - Team Build Tips and Tricks

Posted on by Nicki

This session showed amongst other things how you can customize the build process to automate versioning, etc. Quite useful. And I had information overload, I don't think there is a human that can consume all the words the presenter spoke in 1 hour.

Link to presentation: download here

MyTechEd #8 - A Strategic Comparison of Data Access Technologies from Microsoft

Posted on by Nicki

This was a whiteboard session, so there are no slides available. My personal opinion is that I will leave the Entity Framework, etc. to still mature a bit. Seems like Linq to SQL is just about dead, glad I did not jump on that bandwagon.

MyTechEd #7 - Guiding Your Query Plans in Microsoft SQL Server for Improved Query Performance

Posted on by Nicki

This was a VERY informative session. The presenter knows her stuff. This is also where I picked up on the NOLOCK issue I posted about previously.

With SQL2008 you can now give hints via SQL Management Studio, instead of having to code them into your SQL. This allows for easier application tuning, as no build-test-deploy of the application is needed.

Link to presentation: download here

MyTechEd #6 - What's new in SQL Azure

Posted on by Nicki

The starting pitch was "Everything you can do with SQL Server you can do with SQL Azure". The longer the session carried on, the more limitations came to light. Granted, they are not necessarily show stoppers, but could be depending on the application you might want to deploy.

Link to presentation: not available

MyTechEd #5 - SQL 2008: Best Practices and lessons learned

Posted on by Nicki

The presentation/presenter was a bit boring. There might be some value in the slides though.

Link to presentation: download here

MyTechEd #4 - Entity Framework Tips and Tricks

Posted on by Nicki

This session shared some tips and tricks on Entity Framework

Link to presentation: download here

MyTechEd #3 - Architectures: The good, the bad & the Ugly

Posted on by Nicki

A presentation about good and bad architectures.

Link to presentation: download here

nVidia TV Out on mythbuntu

Posted on Tuesday, September 1, 2009 by Nicki

I finally put in the LAN cable from my study/lab/network centre to the lounge so the mediacentre was moved to its final location close to the tv. Next up was getting the TV out to work to my tv. I used this site to get it working. Initally I thought I only had only black and white output, and struggled for 2 hours to try to get it working. I even went to far as to buy an S-Video - RCA cable, because a lot of references I found pointed to the fact that the RCA output on nVidia cards sometimes does not work correctly.

Well, after putting the new cable in, it still gave the same black & white results, but I now it works, because I just tested it on the DVD player. I used xclock to test, and it turns out I tried an incorrect/ignored command line option. After using the correct option, I have color! As they say: if it takes longer than 5 minutes it is probably a stupid mistake.

Next up is configuring the TV output to be the default/only display, and getting the remote blaster and my MNet decoder talking.

Here are the portions I had to add to /etc/X11/xorg.conf to get TV output working.

Section "Device"
Identifier "Device_tv"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce2 MX 100/200"
Option "TVStandard" "PAL-I"
Option "TVOutFormat" "SVIDEO"
Option "ConnectedMonitor" "TV"

Section "Monitor"
Identifier "TV"
HorizSync 30-50
VertRefresh 50.0

Section "Screen"
Identifier "Screen_tv"
Device "Device_tv"
Monitor "TV"
DefaultDepth 16
Subsection "Display"
Modes "720x576" "720x480"

Section "ServerLayout"
Identifier "Layout_tv"
Screen 0 "Screen_tv" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"