The blog has moved to a new address. The blog is now located at

Wednesday, October 10, 2007


SVN-IIS gives access to Subversion via MS IIS
The main goal of this project is to make a direct interface from a SVN repository to WebDav interface running on MS IIS.


  • Practically no overhead
  • Tested on IIS5.x and IIS6.x
  • Tested on http and https (used a test certificate)
  • Support for HTTP 1.1 Chunked encoding
  • Runs on Windows XP\2000\2003\Vista
  • Apache like logging


  • .NET Framework
  • Access from the IIS to a running Apache webserver, interfacing a SVN repository



Wednesday, September 19, 2007

Expression Blend 2 September Preview

Expression Blend 2 September Preview is available for download

New features

  • Visual Studio 2008 Beta 2 Support
  • Making Controls from Existing Objects
  • Split View and XAML Editor Improvements
  • Storyboard Picker
  • Storyboard and Keyframe Properties
  • Vertex Animation
  • Breadcrumb Bar
  • Font Embedding and Subsetting
  • Build Options
  • Object Manipulation

More details available at the Expression Team's blog.

Visit the Expression Blend 2 September Preview to download and install the latest build.

Saturday, September 15, 2007

The set of useful methods that can make developer life easer

Take a look at a list below and you may find a few methods that save your time.The sources  and documentation are here.


Gets a list of the items in an array missing from a second array.

Removes any duplicate items for a list of items.

Converts an array of strings into a string.


Converts a collection to an html string having a table.


Converts a color into an html hexadecimal string.

Get an html table listing color, html hexadecimal, and color name.

Gets a random color.


Converts an array of strings to a DataTable.

Coverts a DataTable into an Excel string.

Creates a string array from a DataTable.

Converts a DataTable to a string with an html table.

Filter and sort a dataset.


Counts the number of weekdays between two dates.

Counts the number of weekends between two dates.

Checks whether an object is a date.

Returns true of day is weekday, otherwise false.

Returns true of day is weekend, otherwise false.

Returns a string that enumerates years, months, days, etc.


Saves a string array as a text file.

Converts the contents of a file to a string array.

Gets information about the files in a directory and puts it in an array of strings.

Gets information about a directory and puts it in an array of strings.

Gets information about a file and puts it in an array of strings.

Reads from a text file, puts the contents of the file in a string, and returns the string.

Writes the passed in string to a file.


Adds a check to the checkboxes whose values are passed in.

Sets which item is selected in a DropDownList.


Sums the numbers from 1 to n.

Undoes the Triangulate method.


Gets DNS information about a url and puts it in an array of strings.

Gets Http Headers and puts them in an array of strings.

Gets the images from a webpage.

Gets the links from a webpage.

Gets the ServerVariables and puts them in a string.

Reads a web page and returns a string with the contents.

Sends an e-mail message.

Sends a net send message.


Gets an array of double values from the start value to the end value.

Gets an array of int values from the start value to the end value.

Gets a random number.

Check whether an object is numeric.


Gets the average of an array of doubles or an array of ints.

Gets the Correlation between two arrays of numbers.

Gets the standard deviation of a list of numbers.


Count how many times a string appears.

Gets a string with ASCII characters.

Converts a string to proper case.

Remove extra white space in a string.

Tuesday, August 21, 2007

Manage your Subversion(SVN) Repositories & Server conviently and effectively

This utility provides you with the ability to completely manage your Subversion(SVN) Repositories & Server conviently and effectively without the hassle of command-line tools.

PainlessSVN compliments your current SVN Client and Server software, and is easily deployable.It doesn't require any time at all to setup for your current environment.


  • Create and Delete Repositories
  • Create and Delete Directories
  • Create and Delete Users
  • Create Dump Files
  • Create Hot Copies
  • Manage access to repositories
  • It can manage repositories even when svnserve is not running
  • No command-line switches to remember
  • Ability to add repositories that reside in different directories.

Download PainlessSVN (beta)

SketchPath-XPath development and XML analysis tool

SketchPath is an XPath development and XML analysis tool. It provides an integrated graphical environment for viewing XML files , developing XPath expressions against them and managing the expressions in file libraries.

File libraries of XPath expressions can be saved and loaded as .NET DataTable XML serialized objects. SketchPath supports XML Packages as used by Open XML and ODF.

This .NET tool was originally designed to assist XSLT developers at all levels, but should equally suit any developers or analysts who currently work with XPath 1.0 or who would benefit from using it to exploit XML.



  1. Easy to install: A single  350KB .EXE file (Needs .NET 2.0 Also)
  2. XPath Location Step-Tracer - Predicate tracing
  3. Auto-Generate XPath Locations by selecting from
  4. XPath Result list
  5. Regular Expression Result list
  6. Element Tree View
  7. Element Nodes List
  8. XML Text Editor
  9. XPath Variables List
  10. XPath Step Tracer
  11. Save XPath expressions for re-use as variables
  12. Import XPath Expressions from an XML source (eg. XSLT)
  13. Manage Xpath variables lists in groups
  14. Save and load XPath variable groups in library files
  15. ‘As-You-Type’ bookmarking of nodeset results in Element Tree View
  16. Manage Xpath environment
  17. Manage Namespaces
  18. Set the Context Node
  19. Select the group of XPath variables required
  20. Auto-Complete ('Intellisense') uses 'Look-Ahead' to list available location and value nodes when typing
  21. An XPath 'Assist Pane' provides quick access to all XPath Nodes/Axes and Functions
  22. Syntax checking and colorizing of XPath expressions
  23. Uses .NET System.XML.XPath namespace to evaluate expressions
  24. All XML panes synchronized, viewable panes & behavior controlled by modes
  25. Use Regular Expressions (Regex) to resolve XPath locations
  26. Simple User-Interface with just 3 main toolbars with minimal icon-clutter
  27. Package Inspection feature for ZIP compressed XML file structures, support includes:
    1. Word 2007 docx format
    2. Excel 2007 xlsx format
    3. Powerpoint 2007 pptx format
    4. XML Paper Specification xps format
    5. OASIS Open Document Format (ODF)
  28. Fast XPath location generation usin an optimized 'Element Index' (updated as you type)
  29. Free-flow XML Source Editor Pane with well-formedness checking


Download SketchPath

Watch Flash Demo of SketchPath

[Via Larkware News]

Monday, August 13, 2007

Refactor! For ASP.NET was released as free download.

DevExpress has announced that Refactor! For ASP.NET is free for download.


  1. Add Validator
  2. Extract ContentPlaceHolder
  3. Extract ContentPlaceHolder (and create master page)
  4. Extract Style (Class)
  5. Extract Style (id)
  6. Extract to UserControl
  7. Move to Code-behind
  8. Move Style Attributes to CSS
  9. Rename Style
  10. Surround with Update Panel

You can find more details on each refactoring from Mark's post.

Make sure to check out the informative 12 minute screencast on the ASP.NET refactoring.

Monday, July 23, 2007

Cyclomatic complexity measurement tool

ccm is a tool that analyzes C/C++ and C# code and reports back on Cyclomatic Complexity.Cyclomatic complexity is computed using a graph that describes the control flow of the program. The nodes of the graph correspond to the function of a program. A directed edge connects two nodes if the second function might be executed immediately after the first function. This technique is useful to determine how complex the function of code is.

ccm is a command line tool that accepts the path to directory you want to analyze. Using an /XML switch it will output the result as XML, making it easy to integrate with other tools, such as CruiseControl.NET, etc.



Running ccm without any parameters tells you about the available switches.

Missing parameters.

 ccm directory [/r] [/xml] [/n:x] [/e:folderlist] [/v]
     r            - act recursively on folders
     xml          - output into xml
     n:x          - list n-number of metrics (defaults to 30)
     v            - verbose
     e:folderlist - comma-separated list of folders or paths to exclude

ccm.exe ..\..\relativepath-to-sources /n:15

Download ccm

Monday, July 09, 2007

A list of programs for keyboard maniacs

A list of  programs for keyboard maniacs - they helps you rapidly find programs or documents from within the depths of the start menu (or other directories).

Monday, July 02, 2007

Kill specific tasks from MsBuild

This is an example that presents the way - how to kill the processes in MSBUILD script.It's very useful when you need to shutdown some application or services - to prevent the script from failing because the running processes are locked .I use well known OS command "Taskkill" with two arguments /F (Specifies to forcefully terminate process) and /IM (Specifies the image name of the process that has to be terminated. Wildcard '*' can be used to specify all image names).

<Project DefaultTargets = "Kill"
xmlns="" >

<!-- List of processes to kill -->
<Process Include="Process1.exe" />
<Process Include="Service1.exe" />
<Process Include="Engine1.exe" />

<Target Name = "Kill">
<Exec Command="taskkill /F /IM %(Process.Identity)" IgnoreExitCode="true" />

Thursday, June 14, 2007

Free Powershell book with examples

MS offers PowerShell book for free.The book can be used with or without the demo files available at Frank Koch's(MS Technology Advisor ) blog.The book introduces you a short articles with many  examples about the interaction with Windows PowerShell as well as some hints how to use other objects like WMI, .NET or COM objects like Excel or IE.

Technorati tags: , ,

Thursday, May 31, 2007

A new beta of JetBrains refactoring tool is available for download

Now providing unparalleled support for C#, Visual Basic .NET, XML, XAML, and ASP.NET, including comprehensive cross-language functionality.

New Features

  • Unit Test Explorer
  • Go To Symbol
  • To-do List
  • XML and XAML Support
    • Various quick-fixes and context actions in XML
    • Code completion in XML
  • Code Analysis for C# Code


ReSharper 3.0 Beta is only a pre-release build of ReSharper 3.0. The final version 3.0 release is scheduled for the end of June, 2007. If you purchase ReSharper for VS .NET 2003 or ReSharper for VS 2005 now, you will qualify for free upgrade to version 3.0 when it becomes available.

Download Full Edition

Download C# Edition

Download Visual Basic Edition 

Wednesday, May 30, 2007

System.Reflection - FieldInfo class

A FieldInfo class provides detailed information about a single field of a class or an interface. The reflected field may be a static field or an instance field. The FieldInfoSpy example shows how to obtain the field information of a class including the access modifiers, type etc:


using System;
using System.Reflection;

namespace ConsoleApplication1
internal class FieldInfoSpy
private static void Main(string[] args)
Type type
= typeof (Car);

//query type
FieldInfo[] fieldInfos = type.GetFields(
//Specifies that instance members are to be included in the search.
BindingFlags.Instance |
//Specifies that non-public members are to be included in the search.
BindingFlags.NonPublic |
//Specifies that public members are to be included in the search.
BindingFlags.Public |
//Specifies that static members are to be included in the search.

foreach (FieldInfo fieldInfo in fieldInfos)


internal class Car
public bool broken;
private static string vendor;
public readonly string owner;
private int age;
protected string name;

A sample of the output follows:


Thursday, May 24, 2007

New open source .NET blogging platform - BlogEngine.NET 1.0 Released

Open source .NET blogging platform with nice set of features is available for download here

  • Variety of widgets
  • Commenting system
  • Syndication support (RSS, Atom, and Feedburner)
  • Support for Metaweblog API
  • Support for Trackbacks / Pingbacks
  • Blog search
  • Referrer stats
  • Theme creation


BlogEngine.NET Documentation Wiki


[Via Al Nyveldt blog]

Monday, May 14, 2007

A Spy++ like utility for WPF applications

The nice tool called Snoop that I found useful while developing and debugging WPF Applications.


  • Browse the visual tree of running WPF applications.
  • Inspect properties of elements at runtime.
  • Edit properties of elements at runtime.
  • Inspect RoutedEvents that are occurring, including the elements that handle them.
  • Magnify sections of the User Interface.
  • Locate and debug binding bugs.





Technorati tags: , ,

Wednesday, March 28, 2007

Rhino Mocks 3.0 is available for download

A dynamic mock object framework for the .Net platform. It's purpose is to ease testing by allowing the developer to create mock implementations of custom objects and verify the interactions using unit testing.

Rhino.Mocks is an attempt to create easier way to build and use mock objects and allow better refactoring support from the current tools. It's a hybrid approach between the pure Record/Replay of EasyMock.Net's model and NMock's expectation based model. Rhino.Mocks originated from EasyMock.Net and attempt to improve on their model to create easy to use and power mocking framework. It's free for use and modification for open source and commercial software.

Licensing: Rhino Mocks is Free Software which is released under the BSD license.

New features:

  • Generic Methods (at last!)
  • Support arrays of value types as out parameters
  • Support non-CLS Compliant value types such as UInt64
  • Better error messages when using generic delegate methods on generic types
  • Generally faster
  • Using Dynamic Proxy 2 - better performance, better code-base, full support for wierd generic scenarios.
  • Text.* constraints can now be used to evaluate non strings as well, by calling the ToString() method. Useful for things such as the Criteria API in NHibernate.

Download binaries and code

Tuesday, March 13, 2007

S3 Change Explorer


Solidcore S3 Change Explorer is a change tracking and data analytics tool for your desktop. It keeps track of all changes on your system, and provides detailed analysis of those changes, including who made them, when, and how.






[Via Larkware News]

Tuesday, March 06, 2007

A collection of Microsoft.NET class libraries that implement web content syndication specifications

Argotic is a collection of Microsoft.NET class libraries that implement common web content syndication specifications such as RSS 2.0 and ATOM 1.0. With the Argotic components, consuming syndication feeds or generating your own custom feeds has never been easier. Argotic has been designed to provide developers with a flexible provider model for storing and retrieving syndication feed information to and from the back-end database of their choice. Argotic also provides an extensible framework that allows developers to easily handle the large number of extensions in use by today's syndication specifications.

Features Overview

  • Complete implementation of the RSS 2.0 specification.
  • Complete implementation of the ATOM 1.0 specification.
  • Implements a provider model for storing/retrieving syndication information to your back-end database of choice.
  • Provides an extensible framework for processing any syndication specification extension.
  • Natively handles the RCF822 and W3C DateTime structures.
  • Support for auto-discovery of syndication feeds for a given web site.
  • Supports consumption of secure/authenticated syndication feeds.
  • Implementations of the most common syndication specification extensions.


Download Argotic

Sunday, February 04, 2007

Propertygrid: How to show only specific file extensions?


Use Editor Attribute


"Resume File Name")]
typeof(DocFileEditor), typeof(UITypeEditor))]
public string ResumeFile
return _ResumeFile;
= value;



Override InitializeDialog method and provide Filter string that describes allowed file extensions

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Windows.Forms.Design;

namespace WindowsApplication1
class DocFileEditor : FileNameEditor
///Initializes the open file dialog when it is created.
///<param name="openFileDialog">The <see cref="T:System.Windows.Forms.OpenFileDialog">
</see> to use to select a file name. </param>
protected override void InitializeDialog(OpenFileDialog openFileDialog)
= false;
= "Doc files (*.doc)|*.doc|All files (*.*)|*.*";


Saturday, January 27, 2007

PropertyGrid: How to make specific property read only ?

Use ReadOnly attribute or remove set accessor ...

public int Age
return _Age;
= value;



PropertyGrid: How to group properties by category?

Use Category attribute .Note that properties without the attribute will be shown uder category named "Misc"

[DisplayName("First Name")]
"First Name of the person")]
public string FirstName
return _FirstName;
= value;

public Color HairColor
return _HairColor;
= value;


PropertyGrid: How to show description for specific property?

 Use Description attribute

[DisplayName("First Name")]
"First Name of the person")]
public string FirstName
return _FirstName;
= value;



PropertyGrid: How to change property name?

To display property name in readable form you can use DisplayName attribute

[DisplayName("First Name")]
public string FirstName
return _FirstName;
= value;


Wednesday, January 24, 2007


ASP.NET AJAX 1.0 delivers a rich client-side AJAX library that provides cross platform, cross browser support for a core JavaScript type-system, JSON-based network serialization stack, JavaScript component/control model, as well as common client JavaScript helper classes.  ASP.NET AJAX also delivers a rich server-side library that integrates AJAX functionality within ASP.NET, and enables developers to easily AJAX-enable existing ASP.NET 2.0 sites with minimal effort. 

Download ASP.NET AJAX 1.0

Friday, January 12, 2007

MSN Search SDK Beta Version 0.60

The MSN Search SDK provides documentation that describes the core concepts, requirements, development guidelines, and class library for the MSN Search Web Service. The SDK also contains sample code that demonstrates application development techniques using the MSN Search Web Service.