Came across this blog post that aggregates the “top 7” coding standards documents:
Wednesday, September 21, 2011
Sunday, September 18, 2011
If you ever need to determine in which build a particular changeset was delivered in, here is the query that you can run against the TFS_Warehouse database:
SELECT c.ChangesetTitle, c.ChangesetID, b.BuildID, b.BuildName, b.BuildDefinitionName, b.LastUpdatedDateTime
FROM FactBuildChangeset AS bc INNER JOIN
DimTeamProject AS tp ON tp.ProjectNodeSK = bc.TeamProjectSK INNER JOIN
DimBuild AS b ON b.BuildSK = bc.BuildSK INNER JOIN
DimChangeset AS c ON c.ChangesetSK = bc.ChangesetSK INNER JOIN
DimPerson AS p ON p.PersonSK = c.CheckedInBySK
(tp.ProjectNodeName = 'ProjectName')
AND (p.Name = 'PersonCheckedInByName')
AND (b.BuildDefinitionName = 'BuildDefinitionName')
http://msdn.microsoft.com/en-us/library/ee620641.aspx (Build Changeset Tables)
Friday, September 16, 2011
Here is how:
Open the options dialog: Tools –> Options and navigate to Source-Control –> Visual Studio Team Foundation Server.
Click on Configure User Tools….
Click on Add
|Extension: .* |
Command: path to WinmergeU.exe
Arguments: /e /u /x /wl /wr /dl %6 /dr %7 %1 %2 /maximize
|Extension: .* |
Command: path to WinmergeU.exe
Arguments: /e /u /x /wl /dl %6 /dr %7 %1 %2 %4 /maximize
And now you should have a much more powerful way to compare and merge files:
Here is a great way to get to know Visual Studio 11 – through a VM already setup with VS 11.
I am downloading it right now and will be checking out the hands-on labs. Should be a great way to learn about all the new features in VS 11.
Wednesday, September 14, 2011
MSDN now has excerpts from the Manning book “Becoming Agile”. It’s a nice reference: http://msdn.microsoft.com/en-us/library/hh272659(v=VS.88).aspx.
Moving to Agile
Getting Started with Agile
Mindset of An Agile Leader
Prioritizing the Backlog
Estimating at the Right Level with the Right People
Release Planning: Envisioning the Overall Schedule
Iteration Planning: The Nitty Gritty Details
Start Your Engines: Iteration 0
Delivering Working Software
Testing: Did You Do It Right?
Common Reasons for Adapting
Delivery: Bringing It All Together
The Retrospective: Working Together to Improve
Friday, September 09, 2011
Came across two cool online collaboration tools today:
Corkboard: Create and share notes online
PiratePad: This is another free tool that allows you to collaborate.
One nice feature of PiratePad is the fact that multiple people can view whats being typed at the same time. One immediate use that I see for this tool is for using it to conduct phone interviews where you ask the other person to write some psuedo-code.
Both tools have a paid and free option.
Thursday, September 08, 2011
Maximum message size quota for incoming messages (65536) has been exceeded even though maxReceivedMessageSize has been set
I was getting this error in the server side WCF trace messages. The weird thing was that the maxReceivedMessageSize was set on the bindingConfiguration (shown below):
After a lot of time trying to debug the issue I figured out the issue: the name that I had set on the service was not correct and it did not point to the name of the class that implemented the contract. This I think resulted in a default configuration getting applied to the service and hence the bindingBehavior that I had defined was not being applied to the service. Once I corrected the name, everything began working correctly.
So make sure your service’s name is set correctly.
Remember: name. Specifies the type that provides an implementation of a service contract. This is a fully qualified name which consists of the namespace, a period, and then the type name. For example
Note: If you want to use a name other than the class name, then you can use the ServiceBehavior (MSDN) attribute on your class to give it a different name.
Control generated WSDL in WCF - Part 1. Namespaces.
Wednesday, September 07, 2011
All you need to do is to add is the following in your config file (under <Configuration>)
<source name="System.ServiceModel" switchValue="Information, ActivityTracing" propagateActivity="true" >
<add type="System.Diagnostics.DefaultTraceListener" name="Default">
<add initializeData="myTraceLog.svclog" type="System.Diagnostics.XmlWriterTraceListener" name="sdt" traceOutputOptions="DateTime, Timestamp">
The trace will get written to “myTraceLog.svclog” and can be viewed using “SvcTraceViewer.exe” which can typically be found at “C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin”
For the server to be able to accept large messages from clients you don’t only have to change the “maxReceivedMessageSize” and “maxBufferSize”, but also the HttpRuntime’s maxRequestLength. Without the maxRequestLength being set, large messages will get thrown out by the server.
<binding name="myBinding" closeTimeout="00:05:00" openTimeout="00:05:00" receiveTimeout="00:10:00" sendTimeout="00:05:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="2147483647 " maxReceivedMessageSize="2147483647" maxBufferPoolSize="524288" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="819200" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
If you have One-Way operations, and you attempt to send data that’s larger than the httpRuntime.maxRequestLength value (default is 4mb), then you will not see any errors from the server. Instead you will most probably see a 504 error.
Monday, September 05, 2011
I am web design and color challenged. So I am always looking for cool tools to use to help me in this regard. Today I came across “Kuler” by Adobe. Very cool website that allows you to find palettes that others have created.
Another useful color site is “Color Lovers”, which in addition to colors also provides you patterns and other design elements.
Go get inspired….