The blog has moved to a new address. The blog is now located at http://devintelligence.com

Wednesday, October 10, 2007

SVN via MS IIS

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.

Features

  • 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

Prerequisites

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

 

[Via dotnetkicks.com]

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.

Array

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

RemoveDups
Removes any duplicate items for a list of items.

StringArrayToString
Converts an array of strings into a string.

Collection

CollectionToHtmlTable
Converts a collection to an html string having a table.

Color

ColorToHtml
Converts a color into an html hexadecimal string.

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

GetRandomColor
Gets a random color.

DataSet

ArrayToDataTable
Converts an array of strings to a DataTable.

DataTable2ExcelString
Coverts a DataTable into an Excel string.

DataTableToArray
Creates a string array from a DataTable.

DataTableToString
Converts a DataTable to a string with an html table.

FilterSortData
Filter and sort a dataset.

DateTime

CountWeekdays
Counts the number of weekdays between two dates.

CountWeekends
Counts the number of weekends between two dates.

IsDate
Checks whether an object is a date.

IsWeekDay
Returns true of day is weekday, otherwise false.

IsWeekEnd
Returns true of day is weekend, otherwise false.

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

File

ArrayToFile
Saves a string array as a text file.

FileToArray
Converts the contents of a file to a string array.

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

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

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

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

WriteToFile
Writes the passed in string to a file.

Forms

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

SetComboSelectedIndex
Sets which item is selected in a DropDownList.

Math

Triangulate
Sums the numbers from 1 to n.

UnTriangulate
Undoes the Triangulate method.

Network

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

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

GetImages
Gets the images from a webpage.

GetLinks
Gets the links from a webpage.

GetServerVariables
Gets the ServerVariables and puts them in a string.

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

SendMail
Sends an e-mail message.

SendNetSend
Sends a net send message.

Numbers

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

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

GetRandomNumber
Gets a random number.

IsNumeric
Check whether an object is numeric.

Stats

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

GetCorrelation
Gets the Correlation between two arrays of numbers.

GetStandardDeviation
Gets the standard deviation of a list of numbers.

Strings

CountStrings
Count how many times a string appears.

GetASCII
Gets a string with ASCII characters.

ProperCase
Converts a string to proper case.

RemoveWhiteSpace
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.

Features

  • 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.

 

Features

  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.

Features

  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.

 

Usage

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

C:\Dev\ccm\bin>ccm
Missing parameters.

Usage:
 ccm directory [/r] [/xml] [/n:x] [/e:folderlist] [/v]
   switches:
     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="http://schemas.microsoft.com/developer/msbuild/2003" >



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

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

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.
BindingFlags.Static);


foreach (FieldInfo fieldInfo in fieldInfos)
{
Console.WriteLine(
"Name:{0},Type:{1},Public:{2},Static:{3},Readonly:{4}",
fieldInfo.Name,
fieldInfo.FieldType.FullName,
fieldInfo.IsPublic,
fieldInfo.IsStatic,
fieldInfo.IsInitOnly
);
}

Console.ReadLine();
}
}

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:

Name:broken,Type:System.Boolean,Public:True,Static:False,Readonly:False
Name:owner,Type:System.String,Public:True,Static:False,Readonly:True
Name:age,Type:System.Int32,Public:False,Static:False,Readonly:False
Name:name,Type:System.String,Public:False,Static:False,Readonly:False
Name:vendor,Type:System.String,Public:False,Static:True,Readonly:False

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.

Features

  • 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.

 

Documentation
Download

 

 

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

 

[DisplayName("Resume")]
[Description(
"Resume File Name")]
[Editor(
typeof(DocFileEditor), typeof(UITypeEditor))]
public string ResumeFile
{
get
{
return _ResumeFile;
}
set
{
_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
{
///<summary>
///Initializes the open file dialog when it is created.
///</summary>
///
///<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)
{
openFileDialog.CheckFileExists
= false;
openFileDialog.Filter
= "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 ...

[ReadOnly(true)]
public int Age
{
get
{
return _Age;
}
set
{
_Age
= value;
}
}


 


source(russian)

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")]
[Description(
"First Name of the person")]
[Category(
"Personality")]
public string FirstName
{
get
{
return _FirstName;
}
set
{
_FirstName
= value;
}
}


[Category(
"Specific")]
public Color HairColor
{
get
{
return _HairColor;
}
set
{
_HairColor
= value;
}
}

source(russian)

PropertyGrid: How to show description for specific property?

 Use Description attribute

[DisplayName("First Name")]
[Description(
"First Name of the person")]
public string FirstName
{
get
{
return _FirstName;
}
set
{
_FirstName
= value;
}
}


 


source(russian)

PropertyGrid: How to change property name?

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

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


source(russian)

Wednesday, January 24, 2007

ASP.NET AJAX 1.0

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.