Friday, June 27, 2008

Daily Links 27/06/2008

TDD : Introduction to Moq
The new mock framework on the block

More recommendations for the .NET Developer's toolbox

If you like playing with design tools - check this out: Design Pattern Automation Toolkit
"A toolkit to design applications using design patterns, with facility to generate code, and reverse engineering. Drag and Drop facility to create UML Class diagrams Support to write custom plug-ins for code generators and reverse engineering."

I've got a generic method that converts datasets to objects, and ran into a problem whereby the dataSet (not under my control) neglected to set the field to the correct dataType. So I now have to convert the field to the correct type using reflection. Here's the code:
property.SetValue(target, Convert.ChangeType(row[column], property.PropertyType), null);
where property is PropertyInfo retrieved from the object using type.GetProperties(), row = DataRow, and column = DataColumn

I've got a WCF Service library in one of my projects, but I was already hosting the services in a web project, so when I run the application, the usual VS Casini Server would pop up in the taskbar, but I noticed a "new" WcfSvcHost running as well. Now this is handy for when you don't have your own host up and running yet, but a bit irritating when you do. Apparently in VS SP1 you'll be able to switch it off, or you could hack the project file if you just can't wait for the SP1 release. Or you could get the SP1 Beta release in the meantime

30 electric cars companies ready to take over the road
With the ever-increasing fuel price, it's time to start some alternative shopping

Monday, June 23, 2008

Daily Links 23/06/2008

DockPanel Suite
Create dockable windows for your winforms applications ala Visual Studio

Microsoft to take Silverlight offline eventually, says exec

Nice summary on the features of Resharper
(scratching the surface mind you :) )

Software Development and Programming Podcasts

How to get up to speed with Team Foundation Server

SCRUM and Agile Programming using Continuous Build System
brief summary on what's involved doing a SCRUM sprint.

10 reasons why SQL Server 2008 is going to rock
1) is reason enough - intellisense! :)

TFS Code Review tip
tip on viewing (and doing the review on) only the changes made to a file since last check-in

What, the first computer programmer was a woman?!
...and developer of the first compiler...a woman
...so all us geeky guys owe the fairer sex a little more than we thought :)

Friday, June 20, 2008

Daily Links 20/06/2008

DevExpress has released Beta 1 of it's FREE Silverlight DataGrid
* Data Grouping against multiple Silverlight Grid columns
* Data Sorting against multiple Silverlight Grid columns
* Comprehensive Summary Computation support against multiple Silverlight Grid columns
* Column Movement
* Column Resizing
* Column Auto-Width
* Row Editing
* Row Preview (with animation)
* Template Support (for cell content, cell editing, row preview and headers)
* Auto Height Support for cells, headers, and totals.
* Virtual StackPanel Row Container (simply means we are able to handle an unlimited number of rows)
* Focused Row and Focused Cell
* Multi-Row Selection
* Cell Text Wrapping
* Vertical/Horizontal Lines
* Multiple column types/editors
The Source code is also available.

CLR Fun Stuff: How is my C# code converted into machine instructions?

We Don't Need No Architects
Making a case for the software architect

To JSON or not to JSON?
A comparitive performance look at Json Serialization vs standard xml serialization using WCF 3.5

ViewModel Pattern in Silverlight using Behaviors

Silverlight wallpaper
...for all the silverlight geeks out there

Tuesday, June 10, 2008

Daily Links 10/06/2008

Synch google calendar with outlook
$30 / year price tag :|

Upgrading to Silverlight Tools Beta 2 and Visual Studio 2008 SP1 Beta

Fixes for Silverlight 2 Beta 2 install / Visual Studio hassles

DocProject 1.11.0 RC
Works with SandCastle May Release (when it gets released)

MSDN Code Gallery
Handy for keeping up to date with code / utilities available for M$ software development products

Good article on using mock objects in unit testing

GhostDoc
Auto-generate xml documentation in C# code based on method name and paramters via a short-cut key. What I found really nice was that if you change the parameters / names etc., and press the short-cut key, it automatically corrects the xml documentation above the method definition. It also allows you to add custom rules to make the generation more intelligent.
Use this in conjunction with DocProject & Sandcastle, and you have a comprhensive code documentation system that has minimal impact on the productivity of the development team :)

I've come across some justifying leaving debug="true" in their asp.net web.config files for detail error message reasons. Here's why you shouldn't

Mobile Phone: XML Contacts Backup
"Useful for export, modify and re-import mass contacts files. XML Contacts Backup has nice interface very friendly and easy to use. It's always good to have your contacts backed up, why not in XML format for better accessibility and editing"

Monday, June 2, 2008

Daily Links 02/06/2008

free icons

programmer's bill of rights
old post, but still relevant

Announcing the release of Microsoft Source Analysis for C#
"his tool is known internally within Microsoft as StyleCop, and has been used for many years now to help teams enforce a common set of best practices for layout, readability, maintainability, and documentation of C# source code"
although if you have Resharper, you already have access to all of this functionality
HowTo: Configure Microsoft Source Analysis

Resharper was moaning at me for declaring a loop scope variable before the loop (old C++ practice), so I hunted around as to why (doesn't declaring a variable inside a loop impact performance?)
Found this article: basically, declared inside or out, the same IL is generated under the hood (because variables are passed in the method header) - so it's better to declare inside the loop, for readability and scope reasons.

SQL Server Programming Hacks

Silverlight links post