Team System Widgets#

I am still trying to find more value in the Team System/TFS combo.  There are some really great benefits that we are seeing in terms of using TFS for our source control, but a lot of the things I had hoped to do with TFS are simply not good enough to actually use.  Unit testing, continuous integration, bug tracking, code policy etc.

Here are a list of addin widgets for team system:
http://teamsystemexperts.com/widgets.aspx

I'm hoping that some of these can provide some added value to the entire system.

Categories:  | 
Saturday, June 30, 2007 12:12:18 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

.NET "How Do I" Videos#
Categories:  | 
Friday, June 29, 2007 8:26:33 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

3 things I learned in (and out of) college#

Dare Obasanjo has a post on the "Three Things I Learned About Software in College," to which Scott Hanselman followed up with Three Things I Learned About Software WHILE NOT in College.

So here are my 3 from each category:

Learned in college:

1) A lot of people getting a CS degree will never be able to write a real program (as I was getting my degree in structural engineering (CE)).

2) New features and scope creep can cause projects to be never ending, and end up not being released at all.

3) How to really work hard, really study hard, and really focus on a task with a fast approaching deadline.


Learned OUT of college:

1) Just because someone has "Sr." in their title doesn't MEAN they know anything, but they might.  If their logic sounds flawed, don't assume it is because they are "Sr" and you are "Entry": you are probably right.

2) "Expert" can mean different things to different people.  You can be in the top 2% of one company, but a middle of the pack guy in another.  Avoid calling yourself an "expert" (or acting like one) unless you know who you are talking to, and you actually are the expert.

3) There is no "Best" way to do most things.  I had thought that if I looked hard enough and studied enough examples, I would know the "best" way to do things when I arrived at them.  But one groups "best practice" is something another group will not touch.  See the current OR/M arguments for a perfect example, or if you prefer just look at divide over using Datasets. 

That being said, there are definitely some agreed upon "Worst Practices", so avoid these at all costs.

Categories:  | 
Friday, June 29, 2007 8:03:32 AM (Central Standard Time, UTC-06:00) #    Comments [1]  | 

 

Making a column non-null and unique in SQL Server 2005#
Someone asked me how to do this the other day, and I couldn't find a simple way to do it in the SQL Server Management Studio, but the script is pretty simple:

ALTER TABLE tablename
ALTER COLUMUN
   columnname varchar(50) NOT NULL
GO ALTER TABLE tablename ADD CONSTRAINT constraintname UNIQUE( columnname ) GO
Categories:  |  | 
Thursday, June 28, 2007 7:10:19 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

ASP.NET "How Do I" Videos#

The asp.net site has a section where they are putting up short videos showing how to do things in asp.net as well as VSTS and asp.net AJAX.

You can find the site here, and the RSS feed here.

There are some similar videos started to get produced for TFS here, with an RSS feed here.

 

Categories:  |  | 
Tuesday, June 26, 2007 4:50:51 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Dream.In.Code#

I saw a link from Scott Hanselman's site to DreamInCode.net, which is looks like a community site for programmers.

I have been looking for a forum for software consultants like myself, so I will have to check out the forums:

http://www.dreamincode.net/forums/

There is the "Caffeine Lounge", which sounds like the perfect place for me.  When the guys at starbucks start your order before you say anything, you have probably been in there too often.

Categories:  | 
Tuesday, June 26, 2007 4:41:41 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

New Version of DasBlog #

Scott Hanselman has released the final .net 1.1 version of DasBlog, to be quickly followed by the first .net 2.0 version (thank god)!

I will have to upgrade things here when that happens.

Categories:  | 
Tuesday, June 26, 2007 4:36:24 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

17xx-Controller in lock up State#

I had one of my clients call me today with this message showing up on their production server after the power went out (big storm in the area):

17xx-Controller in lock up State

The server is old, and so I started to think worst case scenarios:  the controller probably died, the data is probably lost, backups probably don't have everything, we are going to need a temp server, we are going to need a new production server etc.

Thankfully, this did not come to fruition, so if you get this error message on your Proliant, there may be some hope.

Go into the setup menu for the raid controller and you should be able to clear out the lock state simply by saving the settings.

Of course if your controller really did die, then this won't help you.

Categories:  | 
Tuesday, June 26, 2007 4:34:30 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Plasma Unit Testing#

I came across this CodePlex project called Plasma which is supposed to aid in testing web apps with standard unit test frameworks.

I couldn't find much info on their codeplex site, but I will be keeping track of it to see if I can find some info.

Categories:  | 
Wednesday, June 20, 2007 2:03:52 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Managing the number of assemblies#

Scott Hanselman has an article on trying to pick the right number of assemblies when creating an application.

Much of my work is on a large intranet application, which brings lots of considerations into the fold.  We have started segmenting different web applications into their own projects, meaning they are seperate applications in IIS.

Of course this means that common functionality now needs to be broken out into assemblies.

Also, we had the practice of creating 1 data access assembly for each database we touched.  This was pretty simple at first as we only had a handful of databases, but now have 16 of these assemblies, am I am starting to think we should just merge them all into 1.

I downloaded a trial of NDepend which produced a pretty neat diagram connecting assemblies together.  I am going to try to see if I can refactor out a few (maybe only 2 are options at this point).

Categories:  | 
Wednesday, June 20, 2007 9:04:43 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

ALT.NET#

Somehow the term ALT.NET has been created to describe people who use .Net to program, but try to avoid the "standard" practices and tools that microsoft pushes.

Roy Osherove has an article where he pits the HOT and NOT as seen by the alt.net guys.

My major issue with trying to adopt more of these practices is that I work mostly on existing large applications.

I can't just show up at a client who already has millions of LOC using a more standard approach with thousands of stored procedures, and jump into a Monorail/NHibernate project.

For now I am focusing on getting one of my clients using a server based build and deployment.  We have already moved off of VSS, which is making a big difference in our productivity.

Categories:  |  | 
Tuesday, June 19, 2007 9:51:54 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

What Files Shoud Go In Source Control#

I was searching for some guidance on this and came across a nice paper:

Explained :Structuring Your Solutions And Projects In Source control Using Team Foundation Server

What Files Should Be Source Controlled?

The following list identifies the key file types that you should add to source control. These are the file types that are added when you click Add Solution to Source Control.

Solution files (*.sln). Solution files maintain a list of constituent projects, dependencies information, build configuration details, and source control provider details.

Project files (*.csproj or *.vbproj). Project files include assembly build settings, referenced assemblies (by name and path), and a file inventory.

Visual Studio Source Control Project Metadata (*.vspscc). These files maintain project bindings, exclusion lists, source control provider names and other source control metadata.

Application configuration files (*.config). XML configuration files contain project and application specific details used to control your applications ’s run time behavior.

 

Web applications use files called Web.config. Non-Web applications use files called App.config.

Note: At run time, the Visual Studio build system copies App.config to your project’s Bin folder and renames it as Yourappname.exe.config. For non-Web applications, a configuration file is not automatically added to a new project. If you require one, add it manually. Make sure you call it App.config and locate it within the project folder.

Source files (*.aspx, *.asmx, *.cs, *.vb, …). Source code files, depending on application type and language.

Binary dependencies (*.dll). If your project relies on binary dependencies such as third party DLLs, you should also add these to your project within source control. For more information about managing dependencies, see "Explained: Managing Source Control Dependencies in Visual Studio Team System."

What Files Should Not Be Source Controlled?

The following files are not added to source control because they are developer specific:

Solution user option files (*.suo). These contain personalized customizations made to the Visual Studio IDE by an individual developer.

Project user option files (*.csproj.user or *.vbproj.user). These files contain developer specific project options and an optional reference path that is used by the Visual Studio to locate referenced assemblies.

WebInfo files (*.csproj.webinfo or *.vbproj.webinfo). This file keeps track of a project's virtual root location. This is not added to source control to allow individual developers to specify different virtual roots for their own working copy of the project. While this capability exists, you and all team members are recommended to use a consistent (local) virtual root location when you develop Web applications.

Build outputs that include assembly dynamic-link libraries (DLLs), Interop assembly DLLs and executable files (EXEs). Note that you are advised to add assemblies that are not built as part of your system build process (such as third-party controls and libraries) to Source Control within the projects that reference them.

Categories:  | 
Thursday, June 14, 2007 1:09:45 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Tips for Testable Code#

I linked to this article in my last post, but here are 2 from Roy that are really about HOW to write code that is testable.

Tips for Testable code and for testing legacy code

Achieving And Recognizing Testable Software Designs – Part I

Categories:  | 
Wednesday, June 13, 2007 8:43:57 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Writing Tests that work in NUnit and MSTest#

As someone who is trying to jump into the unit testing world, one of the major problems I had was deciding on using NUnit (which everyone uses) or use MSTest(built in).

I didn't want to jump into this and realize 500 hours later that I picked the wrong framework.  Well, now it seems I don't have to worry about that as much. 

First I was reading this article by Roy Osherove, and somehow I ended up on this page talking about converting between NUnit and VSTS projects, and from there I found a link to this page, which contained this great piece of code:

#If NUNIT Then
Imports NUnit.Framework
Imports TestClass = NUnit.Framework.TestFixtureAttribute
Imports TestMethod = NUnit.Framework.TestAttribute
Imports TestInitialize = NUnit.Framework.SetUpAttribute
Imports TestCleanup = NUnit.Framework.TearDownAttribute
#Else
Imports Microsoft.VisualStudio.TestTools.UnitTesting
#End If

This allows you do have the came code for NUnit and MSTest.  Just change the NUNIT variable and recompile.

The other thing you need to do is use <TestAttribute()> instead of <Test()> on your NUnit tests, but I don't see the difference there.

 

Categories:  |  | 
Wednesday, June 13, 2007 8:36:25 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Adding Static Code Analysis To Team System/TFS#

So I have this problem.

If someone declares:

Public iProductId as Integer

then I want to be notified.  But if someone declares:

Protected WithEvents txtUserName as Textbox

I don't want to be bothered.

Every control declaration we have throws an error in the static code analysis tools.

So after asking around, I guess it is not possible to cusomize the existing rules to exclude common prefixes such as lbl, txt, cmd etc.

So apparently the only option left is to disable those rules and create my own. 

So here are a few links that deal with creating custom links.

MSDN

Kevin Castle

FxCop Team

 

Categories:  |  | 
Monday, June 11, 2007 12:48:08 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Roger Waters: Dark Side Of The Moon Live#

So last nigth was the Dark Side of the Moon Live concert and it was really cool to see.

I started to really like Pink Floyd in college, which of course was after they had been broken up for years.

So even though Dark Side was one of my all time favorite CDs, I figured I woudl never have an opportunity to see it performed.

It was really cool to see this!

During the last 2 tracks, a rotating pirzm composed of lasers appeard above the crowd. 

Then for the last track, the fired a spotlight out of one side of it, and a colored laser spectrum out of the other.

In other words, they created a 3D rotating version of the logo seen above. 

It was amazing!  Now I have to decide if I want to go up to Wisconsin and see the show again in a month.

 

Categories:  | 
Sunday, June 10, 2007 12:47:46 PM (Central Standard Time, UTC-06:00) #    Comments [1]  | 

 

Team Foundation Server Power Tool and Forums#

MS has released a power tool for TFS, and here are the MS hosted forums:

Team Foundation Server - General
Discuss Team Foundation Server general concepts.

Team Foundation Server - Setup
Discuss Team Foundation Server setup and configuration.

Team Foundation Server - Administration
Discuss Team Foundation Server administration and operations.

Team Foundation Server - Version Control
Discuss Team Foundation Version Control, including branching, merging, and shelving.

Team Foundation Server - Work Item Tracking
Discuss Team Foundation Work Item Tracking, including work item customization and Office integration.

Team Foundation Server - Reporting
Discuss Team Foundation Reporting, which uses SQL Server 2005 Reporting services to report team project metrics.

Team Foundation Server - Build Automation
Discuss Team Foundation Server's build automation features.

Team Foundation Server - Process Templates
Discuss Team Foundation Server process template development and customization.

Categories:  | 
Friday, June 08, 2007 4:19:26 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Uploading files with Silverlight#

Brad Abrams has a post on a photo viewer app written for Silverlight that has fileupload ability.

I would be interested to see how that is done, and what the UI is like.

Categories:  | 
Thursday, June 07, 2007 9:10:04 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Running VSSConverter Against SQL Server 2005#

The VSSConverter tool which allows you to convert from VSS to TFS will attempt to utilize a local version of SQL Express.

This sucks, as I hate SQL Express.

After some searching/trials/errors, I found a way to get it to work against a SQL Server 2005 database.

Just add the SQL tag to your migration settings xml file like so:

<Source name="VSS">

      <VSSDatabase name="D:\Program Files\Microsoft Visual SourceSafe\VSSHttp"></VSSDatabase>

      <UserMap name="D:\VSS2TeamFoundation\Usermap.xml"></UserMap>

      <SQL Server="name_of_your_SQL_Server" />

</Source>

Categories:  |  | 
Thursday, June 07, 2007 1:26:49 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Speeding Up Visual Studio#

I would love to speed up VS, and maybe get it to stop crashing, but in the short term, maybe some of these items can help speed it up.

Categories:  | 
Thursday, June 07, 2007 6:55:41 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

All content © 2008, Christopher May, Inc
Open Job Positions
On this page
Google Ads
This site
Calendar
<June 2007>
Sun