Thursday, December 29, 2005

Microsoft MSN Messenger - Home

Microsoft MSN Messenger - Home

Open Workbench - Open Source Project Management and Project Scheduling for Windows - What is Open Workbench?

What is Open Workbench? Print E-mail

Open Workbench is an open source Windows-based desktop application that provides robust project scheduling and management functionality and is free to distribute throughout the enterprise. When users need to move beyond desktop scheduling to a workgroup, division or enterprise-wide solution, they can upgrade to CA's Clarity™ system, a project and portfolio management system that offers bidirectional integration with Open Workbench.

Google Reader

Google Reader

How To Use ADO.NET to Retrieve and Modify Records in an Excel Workbook With Visual Basic .NET

How To Use ADO.NET to Retrieve and Modify Records in an Excel Workbook With Visual Basic .NET

Open Microsoft Excel spreadsheet with ADO.NET

Wednesday, December 28, 2005

Why do Visual Studio Express version suck?

I tell you exactly why do they suck so bad.

Okay, i take it back, it is good effor on MS' part to actually give out anything free like that. So lets give the credit where it's due.

Now as to why do i find the C# express verison lame? simply because darn thing doesn't even have support for:

1) Extensibility. Lack of support for Add-ins and Macros. One must wonder, how can you get more users to use a system for which you aren't even providing a way to improve upon. Take example of Firefox. How simple and elegant is it to create extensions for it and as a result not only you have developers and like-minded folks developing extensions for it, but others are enjoying the ever lasting extensions for it as well. Imagine now, what if same could be true for C# express version.

2) No VSS or Unit testing integration. One must wonder, are express editions really for students and hobbiests type persons? If so, they why don't they get the opportunity to learn what should be the first thing to learn? You know of any Software development company that doesn't user Source Control or Unit Testing for their products?

3) Cannot connect to remote databases. Thats right, support is limited to only local databases. Oh and the worst part is that, there is no obvious way to read data from Excel type datasource either. It only supports SQL and Access. On the other side, you can find support for Excel in Web dev. editions. Pathetic at best, i must say!

I would rather spend time and energy in getting used to SharpDevelop's IDE. Thanks, but no thanks Mr. Bill Gates.

Msnspaces sucks so bad!

Can't even use my lovely firefox to blog anything there. Thats pretty pathetic for Microsoft to:

1) Not support firefox users
2) Add stuff that is supported by only the lamest browser on planet, i.e. Internet Explorer
3) Not even have a msn toolbar for firefox.

I don't see how MS wants to take lead in this competition when they don't even have the very fundamental stuff developed to begin with.

Run Escape Jump Video on Metacafe

Run Escape Jump Video on Metacafe

Dizzy Kid Video on Metacafe

Dizzy Kid Video on Metacafe

Where Blogs Meet Maps

feedmap .net (BETA) : Where Blogs Meet Maps

msn plug-ins for firefox

Thursday, December 22, 2005

Need to create dynamic Web Reference from XML Web Service consumer application

You can configure the web service to pull the URL based on a setting in a
configuration file, rather than a hardcoded value. To change the location,
simply change the config file with no recompile.

Here’s how to do it:
Add your web reference. Go to "Solution Explorer", right click on the web
reference name (eg. "localhost") and choose properties. In the property
window change "Url Behavior" from "Static" to "Dynamic".

If the web service client is a non-web application, this will automatically
create a file name app.config with the URL to the web service.


After you comiple your client app, the configuration file of it (such as
something.exe.config) will have the same content as the app.config.
Now, you can deploy the configuration along with the client executable. If
you ever need to change the web service location, you can open the
something.exe.config file in notepad and change the value attribute.

If the web service client is a web application such as web form,
changing "Url Behavior" from "Static" to "Dynamic" will automatically add
the same appsettings to web.config. Now, if you ever need to change the web
service location, you can open web.config file in notepad and change the
value attribute.

For Service URLs that change more often or at runtime, you can write custom
code to change the URL property off of the proxy class.


ws.Url = CompatibleCustomerServices(2) //bind to a the next compatible
service in the list

Outside VS.NET, you can use "wsdl.exe /urlkey:
to generatea proxy which
automatically checks in the for the given key.

When using "wsdl.exe /urlkey:myapplication.mywebservice.service1
for example, you should be
able to use the following configuration file to read the URL without any
further manual changes needed:

value=" />

Sunday, December 18, 2005

Virtual Disk in CD-size slices "Virtual Disk in CD-size slices"

vmx file builder for free vmplayer

How-to create a VM(ware) image, such as vdotlrn, suitable for VMware Player WITHOUT an image authoring tool?

vdotlrn: "How-to create a VM(ware) image, such as vdotlrn, suitable for VMware Player WITHOUT an image authoring tool?"

BuildBot: build/test automation


The BuildBot is a system to automate the compile/test cycle required by most software projects to validate code changes. By automatically rebuilding and testing the tree each time something has changed, build problems are pinpointed quickly, before other developers are inconvenienced by the failure. The guilty developer can be identified and harassed without human intervention. By running the builds on a variety of platforms, developers who do not have the facilities to test their changes everywhere before checkin will at least know shortly afterwards whether they have broken the build or not. Warning counts, lint checks, image size, compile time, and other build parameters can be tracked over time, are more visible, and are therefore easier to improve.

The overall goal is to reduce tree breakage and provide a platform to run tests or code-quality checks that are too annoying or pedantic for any human to waste their time with. Developers get immediate (and potentially public) feedback about their changes, encouraging them to be more careful about testing before checkin.

Saturday, December 17, 2005

VMware Player

How can I use VMware Player?

Run virtual machines created by VMware Workstation, GSX Server or ESX Server. VMware Player also supports Microsoft virtual machines and Symantec LiveState Recovery disk formats.Easily and safely evaluate pre-built application environments, beta software, or other software that is distributed in virtual machines, without any installation or configuration hassles. Share a virtual machine with a colleague or friend.

Saturday, December 10, 2005

Active Directory Cookbook > Source Code

Active Directory Cookbook > Source Code Accessing a Cisco Router

If you're setting up a Cisco router for the first time, find the long, flat, light blue rollover cable that came with the router. This cable is easy to recognize if you compare both ends of the cable. You'll also see why it's called a rollover cable as the pinouts are opposite to each other; in effect, the cable was rolled over when the second connection was crimped on.

Tuesday, December 06, 2005

Guy Davis: Outreach Project Tool

OPT Max is a branch of the current Outreach Project Tool originally created by CSO Lanifex. This version's goal is to add a number of new features that integrate well with the rest of the application. It is currently the only actively developed version of OPT available.

This enhanced version of OPT is in use by 80+ users in the hardware/software development group at Pason Systems as well as the 20+ users at a theatre production company among many other users. Please visit the Sourceforge project site for more details and downloads.

Monday, December 05, 2005

Demystifying Microsoft Intermediate Language. Part 1 - Introduction

In these series of articles, I will sheen the complexity of surrounding IL by representing complex concepts in a simple and comprehensive manner. These concepts have been supplemented with detailed examples. We will compare the source code of the program in C# or VB.NET language and the same code written in IL to better understand the limitation of our compilers and will learn to write better and faster code. The aim of this series is to explain the complexity surrounding IL and to make you adept at understanding IL code. I also want to alleviate your fear of lower languages.

Design Appropriate Test Cases

sqpv8i1griffin.pdf (application/pdf Object)

Nightly Tester Tools

Sunday, December 04, 2005 : Article info : Twelve Tips for Realistic Scheduling

Summary: Whether you're managing a software development project, or coordinating your children's soccer and dance lessons, schedules are helpful tools for orchestrating a sequence of events. Most schedules involve a start and end-date, and include tasks, task duration, and dependencies between tasks. But no matter how well you plan for a series of events, unexpected events will compete for time and threaten deadlines. People you hadn't anticipated will step into your plans, and begin to influence, control, and often complicate things. When we do not handle unexpected events and the interpersonal elements well, our schedules fall apart. Good scheduling is very difficult, a combination of art and science. In this article, I will discuss realistic scheduling, which seeks to cover all the above types of events--the planned, the possible, and the unimagined. There are some techniques that can help you keep your sanity, which go beyond the notes, checklists, milestones dates, and appointment books. My twelve tips stress prioritization, clarifying values, and comparing the relative worth of each activity. They combine the conventional checklists with preserving and enhancing relationships to accomplish the desired results.

News and views on IM, Presence and RTC Technologies : Interesting use of Bots

Thursday, December 01, 2005

Phalanger - the PHP Language Compiler for .NET Framework

Main Features

The aim of the Phalanger project is to create a module enabling execution of PHP scripts on the Microsoft .NET platform. This module is cooperating with the ASP.NET technology enabling it to generate web-pages written in PHP the same way ASP.NET pages are.

In contrast to the original PHP interpreter, our module is compiling the scripts into the MSIL (Microsoft Intermediate Language). While the first page access is delayed due to compilation, all following accesses benefit of the fast execution of the native code which is always far more effective than script interpretation. This gain is most important in case of common PHP-script libraries (for example PHPLIB, PEAR, Nuke etc.) which are complex yet immutable and thus their script files are compiled only once. On the other hand there may be some code in the PHP scripts which is not known in the time of compilation and has to be compiled at run-time. The .NET platform fully supports run-time code generation. Although this procedure handicaps script compilation a little, it is known that PHP constructs imposing run-time compilation are used rather rarely and if, there is not much code to deal with.

The principal goal of our project is to enable full functionality of existing PHP scripts without any modification. The only condition is that these scripts do rely neither on special functionality provided by the UNIX platform or the Apache server nor on undocumented, obsoleted or even faulty functionality of the PHP interpreter. The built-in PHP functions provided to programmer by the PHP interpreter (for example string and array manipulation etc.) have to be reimplemented to reach this goal. They are rewritten in the managed .NET environment, namely in C#, and thus many of these functions will be reusable by other .NET application programmers.

In addition to the built-in ones, there are external functions which are dynamically linked to PHP. These provide additional functionality to PHP programmers such as database access, image manipulation or data compression etc. Since there is a huge amount of such libraries and there will be even more of them in future, it is impossible to reimplement them all in C#. That's why there is a component in our project enabling the external functions to be called from the .NET platform and thus used not only from the PHP scripts but also other .NET languages such are C# or VB.NET.

In addition to the PHP compiler, our project contains a component integrating PHP script editing into the Visual Studio .NET environment, version 2003.

Wednesday, November 30, 2005

15 Seconds : Using Visual Studio .NET Wizards to Create an N-Tiered Application - Part 2

try ruby! (in your browser)

Got 15 minutes? Give Ruby a shot right now!

This tutorial is only partway complete.. but it's getting better! Now you can hop chapters, you know? That's decent!

Ruby is a programming language from Japan (available at which is revolutionizing the web. The beauty of Ruby is found in its balance between simplicity and power.

JavaScript Toolbox - Calendar Popup To Select Date

Saturday, November 26, 2005

Tuesday, November 22, 2005

Video Series: Visual Web Developer for Beginners

This video series is designed specifically for individuals who are interested in learning the basics of how to create dynamic Web applications using ASP.NET 2.0 and Visual Web Developer 2005 Express Edition in either Visual Basic or C#. The series includes over 6 hours of video-based instruction that walks you through creating and deploying your first Web page to creating a fully functioning Quiz Engine Web site.

Mondrian Ruby IDE

Mondrian is a cross-platform project-manager and editor for the Ruby language. Written in 100% native Ruby using the FOX GUI toolkit, Mondrian has the familiar look and feel of a modern IDE while remaining dedicated to the uniqueness of the Ruby language and its community. Some features include:

* a dynamic object browser
* runtime error integration
* a full-featured project manager
* syntax highlighting
* runs identically on Windows and Linux

Monday, November 21, 2005

Using System.DirectoryServices to Configure IIS

System.DirectoryServices can be used to get and set String and DWORD properties in the IIS metabase, and invoke most methods. However, you cannot perform the following tasks unless you are using Windows XP Professional with Service Pack 2 or Windows Server 2003 with Service Pack 1. Doing so results in errors like "The directory cannot report the number of properties":

HOW TO: Create an FTP Folder with Read Access but Not List Access

Living Without Custom Fields

Sunday, November 20, 2005

Mantis Issues band - The Code Project - Shell Programming

This code provide easy access to Mantis bug tracking issues. As program manager I often need to find issue in Mantis by issue number.

Your IP -

Thursday, November 17, 2005

OTRS::Email Management::Trouble Ticket System::Welcome!

OTRS is an Open source Ticket Request System (also well known as trouble ticket system) with many features to manage customer telephone calls and e-mails. The system is built to allow your support, sales, pre-sales, billing, internal IT, helpdesk, etc. department to react quickly to inbound inquiries. Do you receive many e-mails and want to answer them with a team of agents? You're going to love the OTRS!

Web service test data generator


TestOracle is a very powerful program that allows developers to quickly generate test data for their web-services before publicly or internally releasing the web service for production. Having a code tested has many intrinsic advantages, including less buggy code and reduced time in fixing and finding these bugs later. There are many products in the market today to automate generating test data, including DataTect. However, some of the major disadvantages and limitations of all these commercially available products make TestOracle a unique-first of its kind-product. For instance, commercial program are not only expensive (at least $600+ per license) but are also limited to producing only scalar data (i.e. records of a database table), and thus can not produce data for complex data objects. Complex objects include are formal function parameters, which can include complex n-level object hierarchy(s).

Wednesday, November 16, 2005

Registry Optimizer


Nini: Manual - Storing configuration data in a database

Nini: Manual: "5.2 Storing configuration data in a database

If you are running an ASP.NET application then you probably have multiple users in each system. You will probably also have a bunch of user settings to edit. Most web applications are entirely configured with a database so the following is an example of using Nini along with your database.

Here's a very simple example with a SQL Server table. This can easily be adapted to any other database. Here is the structure of the database table:

UserId ID,
Settings TEXT

The ConfigSettings field stores a Nini configuration value. Now you can load a Nini configuration values like this:

string userId = GetUserId(); // retrieve the user id somehow

SqlCommand command = new SqlCommand('SELECT Settings FROM UserSettings WHERE ID = '
+ userId, connection);


SqlDataReader reader = command.ExecuteReader();

if(reader.HasRows) {
IConfigSource source = new XmlConfigSource(new StringReader(reader.GetString(0)));


Nini: An uncommonly powerful .NET configuration library

Digital Tester:: Test Case Management

Digital Tester:: Screenshots

CodeTranslator: Free Code Translation From VB.NET <-> C#

Tuesday, November 15, 2005

ADO.NET for the ADO Programmer

ASP.NET Developer Center: Migrating: ADO.NET for the ADO Programmer

Implementing Hit Counters in

Implementing Hit Counters in

ASP.NET Maker Download

Nabble - Bugzilla and IIS6 on Windows Server 2003

Nabble - Bugzilla and IIS6 on Windows Server 2003

Watir VS.NET Custom Tool - UncleG's Blog

Visual Studio 2005 Web Deployment Projects (Beta Preview)

Visual Studio 2005 Web Deployment Projects (Beta Preview)

Visual Studio 2005 Web Deployment Projects provide additional functionality for building and deploying Web site applications that you create in ASP.NET 2.0 and Visual Studio 2005. This add-in includes a new tool that enables you to merge the assemblies created during ASP.NET 2.0 precompilation, and it provides a comprehensive UI within Visual Studio 2005 for managing build configurations, merging, and pre-build and post-build task using MSBuild.

Sunday, November 13, 2005

SSWI is a Microsoft Visual Source Safe 6 Web Interface.

Component Workshop

Getting Started With Regular Expressions

:: CoDe Magazine ::

Using Visual SourceSafe for ASP.NET--Start to Finish

Use Labeling for Your Versions of Software
Instead of relying on these internal version numbers that SourceSafe assigns to files, you will most likely want to create your own "label" for a set of code that defines a release for your software. A release could be your first beta milestone, your first version of the product, an incremental release, or the second, or third release of a product.
Each file will get its own internal version number, and depending on how often a file is modified, these numbers will never match up across a whole project. So instead you can apply your own label to a complete project to identify all of the files checked in at the point in time when you create this label.

You might create a label (up to 31 characters) with the text: "1.0," "2.01b," "Final Beta," or "Approved for QA." After you apply a label, you can retrieve all the files associated with this label from the History dialog box. While individual files can be labeled, you will most likely find that you will apply labels at the project level. When you label a project with a descriptive text string, all the files in that project and subproject inherit the label.

You may label a project at any point in your development cycle. For example, with each "release" of your product, whether in alpha, beta, or final production code, you will most likely wish to place a label on all of the project artifacts at that time. As you continue to develop, if you ever need to get the source code from beta 1.0, then you can do that. You can rename labels if you wish, without affecting any of the source files.

To create a label, click the Project folder in the VSS Explorer tool that you wish to label. Click File | Label... from the menu, and you will see a dialog as shown in Figure 14. After entering a descriptive label name and a comment telling what this label is used for, click OK to apply the label to this project and all files and subfolders under this project.

Building a Stored Procedure Generator

Creating basic data access stored procedures is time consuming and boring work. Relieve the tedium by writing code that writes these stored procedures for you.

Enumerating the # and names of files in a VSS folder

Korby Parnell's Gotdotnet Wunderkammer : Enumerating the # and names of files in a VSS folder

Visual Studio Launch: Code Samples

Visual Studio Launch: Code Samples: "Microsoft Visual SourceSafe� 6.0"

Chuck Kollars: Automated Builds

Joel at the 'Dojo : Setting Up Continuous Integration

Joel at the 'Dojo : Setting Up Continuous Integration

Data Structures and Algorithms with Object-Oriented Design Patterns in C#

Data Structures and Algorithms with Object-Oriented Design Patterns in C#

Web Services Made Easy with Ruby

It's easy to develop Web services using Ruby. This article looks at how to develop a Web service client to access the Web services that are hosted in the Internet and how to develop a Web service with simple steps using Ruby.

Automated Smart Client Deployment and Update - Today and Tomorrow

Smart client application architecture is gaining ground as a replacement for many intranet and some internet web applications. Smart client architectures have many considerations that you need to take into account to build a well robust, reliable, scalable, performant, and secure app. However, building the application is only part of the battle. Once you get the smart client application designed and tested along with its supporting middle tier components, you need to deploy the application to client machines and support it with (possibly frequent) updates while it is there. This article will discuss some of your options, including capabilities that exist today with .NET 1.1 such as Windows Installer, No Touch Deployment, and the Updater Application Block, as well as those that will soon arrive with the release of .NET 2.0, specifically ClickOnce.

Saturday, November 12, 2005

Using the Ruby Development Tools plug-in for Eclipse

Why Ruby?

Why would any self-respecting Java developer care about Ruby? Ruby is a general-purpose scripting language created 10 years ago in Japan. Contrary to popular belief, it is a pure object-oriented language. Unlike Java technology, Ruby has no scalars, so everything, including integers, are first-class objects. Ruby's syntax borrows heavily from Smalltalk, Python, and Ada. Like the Java programming language, Ruby is a single inheritance language, but it offers some advanced features that Java technology does not, such as closures (think anonymous inner classes on steroids) and mix-ins (similar to interfaces, but less tightly bound to the class). Ruby is also highly portable, running on all major operating systems.

Ruby is also red-hot right now. People are starting to use it for the types of applications where it excels. Because it is interpreted and uses dynamic typing, you can do all sorts of magic tricks at run time that are very difficult in Java. One of the surprising capabilities enabled by dynamic typing and expressive syntax is the ability to create domain-specific languages in Ruby that allow you to work at a higher level of abstraction, away from the "raw" syntax of the language. Ruby on Rails is a framework for creating Web applications backed by databases that shows this elegance. Rake, Ruby's version of Make and Ant rolled into one, is another example of this powerful use of the language.

The other reason to start playing with Ruby is that all the cool kids are doing it. Many of the people who recognized that Java technology was going to be important back in 1996 (like Glenn Vanderburg, Bruce Tate, and Martin Fowler) are heavily involved in Ruby now. Even if you aren't going to change all your development efforts to Ruby, maybe it's time you took a look at this language.

One of the main limiting factors to widespread development in Ruby is a good development environment (for those who don't want to learn Emacs). The RDT changes that. What better way to experiment with Ruby than in your favorite IDE, Eclipse?

Thursday, November 10, 2005

MSBuild Wiki

Visual Studio 2005 will radically improve the software build process with the introduction of Click to read this topic

4/28/2005 11:23:10 PM - Neil
MSBuild. This new build platform:

Will deliver an XML-based file format that is well-documented and backed up by a published XML schema definition,
Will be a core component of the .NET Framework redistributable (i.e. will not require VS for build lab scenarios),
Will allow developers to customize, augment or completely redefine the build process, and
Will provide seamless integration with the Visual Studio 2005 IDE.

JIS : Rake - Ruby Build System

JIS : Rake - Ruby Build System: "The main task is build. It is defined by the call task :build. Then we pass an array of dependencies to task that :build depends on (in this case only one “:clean”). Then we simply shell (sh) out to csc to build everything for me. Not much different from a BAT file in its current state. Here is a piece of my real build that handles versioning...

task :version_main do |t|
versions.transaction do |o|
v = versions['main'].increment
File::open('Main.AssemblyVersion.cs', 'w') do |av|
av.write '[System.Reflection.AssemblyVersion(\'#{v.major}.#{v.minor}.#{}.#{v.revision}\')]'

task :version => [:version_main] do |t|
print 'Everything versioned'

The versions variable is an instance of PStore. It is a hashtable that holds a bunch of Version objects for each project. It is pretty similar to the tag in NAntContrib as I show it above. But the versions variable could be a BerkleyDB or a MySQL rowset, etc. Much harder to do this swap with the tag."

Tuesday, November 08, 2005

Using HTTP Modules and Handlers to Create Pluggable ASP.NET Components

Extending ASP.NET

Brian Scott : Cropper in C#

Brian Scott : Cropper in C#

Nikhil Kothari's Weblog : Web Development Helper

Nikhil Kothari's Weblog : Web Development Helper

Scott Hanselman's 2005 Ultimate Developer and Power Users Tool List - Scott Hanselman - Scott Hanselman's 2005 Ultimate Developer and Power Users Tool List

Building .NET Applications with NAnt (BEST)

:: CoDe Magazine ::

NAnt - Conditional Execution

NAnt - Targets: "Conditional Execution

A target also has the ability to perform its execution if or unless a property has been set. This allows, for example, better control on the building process depending on the state of the system (OS, command-line property defines, etc.). To make a target sense this property, you should add the if or unless attribute with an expression that the target should react to. For example:

If no if and no unless attribute is present, the target will always be executed.

Note: the dependencies of a target are always executed before testing the target's condition."

remote event log reading - code for a command line utility

Steve Hebert's Development Blog : remote event log reading - code for a command line utility

Steve Hebert's Development Blog : NAnt-ing my database build

I finished the process of performing my database build using NAnt (actually NAntContrib). I dusted off an old class library I used with a .Net plug-in I built for automating the database build and modified it so it could handle the NAnt.Core.Project object for floating messages, warnings and errors.

Our database project under VS contains all of our stored procs, functions and trigger scripts (among others). Each script is responsible for testing if the contained object currently exists and takes appropriate steps. Because the processing is order-critical, I've created an XML file format that enforces creation order and also allows for individual files or entire projects to be processed using a given line.

I could have gotten this to run using only my class library instead of NAntContrib's SourceSafe additions (for grabbing the BuildScript), but I'll need some of NAntContribs functionality beyond the database build. My NAnt script does the following:

Monday, November 07, 2005

continuous_integration_v1.0.pdf (application/pdf Object)

continuous_integration_v1.0.pdf (application/pdf Object)

Slashdot | Expert Delivery Using NAnt and CruiseControl.NET

Slashdot | Expert Delivery Using NAnt and CruiseControl.NET Using NAnt to Build .NET Projects Using NAnt to Build .NET Projects

Nant build files using his style sheet

Gordon Weakliem has some good info on using VS.Net and NAnt:

He also has a Nant build script to convert existing VS.Net projects into Nant build files using his style sheet:

Jeffrey McManus on when and why to use Nant over
He also has a Nant build script to convert existing VS.Net projects into Nant build files using his style sheet:

Using NAnt you can also tie your build process into a daily build tool such as CruiseControl.Net(

Just some options for those that dislike the VS.Net 1.0 build features :-)

Hippo.NET BuildFile Builder Beta

The Hippo.NET BuildFile Builder will generate NAnt buildfiles, bases upon Visual Studio project files. This tool will become integrated in the Hippo.NET Build Tool which can be used to automate the build process in team environments. If you want to be informed about updates or you want to give feedback, report bugs, ... visit my weblog (RSS Feed).

Increment Build No in VS.Net - The Code Project - .NET Compact Framework

Sunday, November 06, 2005

ZipStudio - A versatile Visual Studio add-in to zip up Visual Studio solutions and projects - The Code Project - C# Programming

ZipStudio - A versatile Visual Studio add-in to zip up Visual Studio solutions and projects - The Code Project - C# Programming

Add-in for automatically incrementing build numbers in Visual Studio .NET - The Code Project - Free Tools

Add-in for automatically incrementing build numbers in Visual Studio .NET - The Code Project - Free Tools

Build Automation Using C#, Visual Studio, Source Safe, InsntallShield and NullSoft Installer - The Code Project - C# Programming

Build Automation Using C#, Visual Studio, Source Safe, InsntallShield and NullSoft Installer - The Code Project - C# Programming

Build frequency Table

Build frequency

15 Seconds : Automated Deployment for Side By Side .NET Web Apps for Visual Studio .NET 2003

I had been asked by a client to find a way to "silently" auto-deploy a web app to a remote server everyday as a result of a daily build process. The objective of this was to regularly deliver the application to a testing team for regression testing. I decided I wanted to use MSI (Windows Installer) 2.0 technology to do it, mainly because that's what is built in to the Visual Studio .NET 2003 deployment projects. There was also the requirement to have multiple versions of the same application auto-deployed to the web server, with only one version being active at any given time, and a simple way to switch between versions. This is what the Web Server would look like:

Microsoft Visual SourceSafe Best Practices

Summary: Outlines recommended practices to help prevent data corruption in Microsoft Visual SourceSafe. Includes a discussion on the data repair tool called Analyze, which ships with the product. (10 printed pages)

Visual Source Safe 6.0 Recursive Rollback - The Code Project - C# Programming

Visual Source Safe 6.0 Recursive Rollback - The Code Project - C# Programming

Managing Web Content Using Microsoft Visual SourceSafe

Saturday, November 05, 2005

15 Seconds : Implementing and Promoting Daily Builds

15 Seconds : Implementing and Promoting Daily Builds

Software Program Managers Network - "16 Critical Software Practices TM"

Software Program Managers Network - "16 Critical Software Practices TM": "16 Critical Software Practices"

Tabbed Polygramy Msn


Expose MSN Messenger Events Using C#

Tutorial on how to use the MSN Messenger API in C#. This includes a fix for exposing the events of Messenger so that developers can have full function of the API as in COM based development environments. The article keeps it quite simple and shows how a developer could receive email alerts and chat session text.

Windows Live Messenger, the next version of MSN! -

Windows Live Messenger, the next version of MSN! -

Everything about MSN Messenger, Windows Live Messenger, MSN 7.5, download MSN7.5, free msn emoticons -

Everything about MSN Messenger, Windows Live Messenger, MSN 7.5, download MSN7.5, free msn emoticons -

Messenger Plus! | Plugins Spell Check

Messenger Plus! | Plugins

GlobalSpellChecker 1.0

GlobalSpellChecker 1.0

Running Transact-SQL Script Files Using osql

Accessing and Changing Relational Data
Running Transact-SQL Script Files Using osql

Topic last updated -- January 2004

You can use osql to execute database script files, which are text files containing a mix of Transact-SQL statements and osql commands. osql works with the statements and commands in the script file in a manner very similar to how it works with statements and commands entered interactively. The main difference is that osql reads through the input file without pause instead of waiting for a user to enter the statements and commands.

There are different ways to create database script files:

* You can interactively build and debug a set of Transact-SQL statements in SQL Server Query Analyzer, and then save the contents of the Query window as a script file.

* You can create a text file containing Transact-SQL statements using a text editor such as notepad.

* You can use SQL Server Enterprise Manager to generate scripts for creating objects in a database. For more information, see Documenting and Scripting Databases.

For more information about the uses of Transact-SQL scripts, see Transact-SQL Scripts.
Example of Running a Script Using osql

This is an example of creating a script file and running the script using osql.

Open Notepad and type the following Transact-SQL statements and osql commands:

USE Northwind


SELECT SupplierID, CompanyName

FROM Suppliers

WHERE CompanyName LIKE 'T%'


Use the File/Save As menu to save this as a file named MyScript.sql in a folder C:\MyFolder. Run the following command from the command prompt to run the script and place the output in a file named MyOutput.rpt in the same folder:

osql -E -i C:\MyFolder\MyScript.sql -o C:\MyFolder\MyOutput.rpt

When you view the contents of MyOutput.rpt in Notepad, you will see:

1> 2> 1> 2> 3> 4> SupplierID CompanyName

----------- ----------------------------------------

4 Tokyo Traders

(1 row affected)


You can use the -n switch to suppress the batch line numbers (1> 2> 1> 2> 3> 4>):

osql -E -h-1 -i C:\MyFolder\MyScript.sql -o C:\MyFolder\NoHeaders.rpt

When you view the contents of NoHeaders.rpt, you will see:

SupplierID CompanyName

----------- ----------------------------------------

4 Tokyo Traders

(1 row affected)

Friday, November 04, 2005

Getting Started with Command Prompt Utilities T-SQL

Getting Started with Command Prompt Utilities


Copies a data file into a database table or view in a user-specified format.

BULK INSERT [ [ 'database_name'.] [ 'owner' ].] { 'table_name' FROM 'data_file' }
[ BATCHSIZE [ = batch_size ] ]
[ [ , ] CODEPAGE [ = 'ACP' | 'OEM' | 'RAW' | 'code_page' ] ]
[ [ , ] DATAFILETYPE [ =
{ 'char' | 'native'| 'widechar' | 'widenative' } ] ]
[ [ , ] FIELDTERMINATOR [ = 'field_terminator' ] ]
[ [ , ] FIRSTROW [ = first_row ] ]
[ [ , ] FORMATFILE = 'format_file_path' ]
[ [ , ] KEEPNULLS ]
[ [ , ] KILOBYTES_PER_BATCH [ = kilobytes_per_batch ] ]
[ [ , ] LASTROW [ = last_row ] ]
[ [ , ] MAXERRORS [ = max_errors ] ]
[ [ , ] ORDER ( { column [ ASC | DESC ] } [ ,...n ] ) ]
[ [ , ] ROWS_PER_BATCH [ = rows_per_batch ] ]
[ [ , ] ROWTERMINATOR [ = 'row_terminator' ] ]
[ [ , ] TABLOCK ]

Directory Class: calculate the size of a directory

// The following example calculates the size of a directory
// and its subdirectories, if any, and displays the total size
// in bytes.

using System;
using System.IO;

public class ShowDirSize
public static long DirSize(DirectoryInfo d)
long Size = 0;
// Add file sizes.
FileInfo[] fis = d.GetFiles();
foreach (FileInfo fi in fis)
Size += fi.Length;
// Add subdirectory sizes.
DirectoryInfo[] dis = d.GetDirectories();
foreach (DirectoryInfo di in dis)
Size += DirSize(di);
public static void Main(string[] args)
if (args.Length != 1)
Console.WriteLine("You must provide a directory argument at the command line.");
DirectoryInfo d = new DirectoryInfo(args[0]);
Console.WriteLine("The size of {0} and its subdirectories is {1} bytes.", d, DirSize(d));


TaskSwitchXP: Main Features | NTWind Software

TaskSwitchXP: Main Features | NTWind Software

Andreas Kraus : ASP.NET Deployment Tool v1.5 released

Sunday, October 30, 2005

Bugzilla 2 mantis converter


Midgard CMS - Midgard Documentation

Midgard CMS - Midgard Documentation

Double Choco Latte

Double Choco Latte provides basic project management, work orders, and call center tickets. It supports the following features and concepts:

* Work Orders - Use for tracking history of almost anything: bugs, requests, maintenance, project tasks.
* Projects - Include hierarchal support so sub-projects can be created. Parent project's statistics include all child project stats to provide an overall status of all projects.
* Call Tickets - Use for contact with clients. Self-timing.
* Time Cards - Time taken on a work order to accomplish an action. Multiple time cards can be input for a single work order.
* Attribute Sets
o An attribute set consists of: Actions, Priorities, Severities, Statuses.
o Each product can support its own attribute set for work orders and tickets.
* Accounts - Client based tracking
* Personnel - People involved in the projects, including hierarchal support
* Departments - To "categorize" personnel
* Severities - List a bug's severity level
* Priorities - Ranks bugs by priority
* Statuses - Tracks bugs by status
* Sequences - Related Work Orders carry the same Job Number and incremental sequence numbers. Can be used for projects.
* Products - Obvious, but also can be assigned a person to "report to". Useful for product managers to track what they're responsible for.
* E-Mail notification via watches.
o Notification for statuses: Open, Close, Change
o Optional notification for any activity
o Can watch a product or project and receive E-Mails for their respective work orders
o Can watch a specific work order.
o Can also watch tickets in the same way, with the exception of projects.

Saturday, October 29, 2005

TestGen4Web - firefox extention

Projects:TestGen4Web - Spike Developer Zone

Building Projects with NAnt

This document provides an introduction to NAnt and describes a set of guidelines for building projects with it.

NAnt is a free build tool based on .NET. NAnt has many advantages over existing build tools that make it the build tool of choice. First of all, NAnt is platform independent. It can be installed and executed on every system for which a .NET implementation exists. Then, Instead of processing configuration files containing shell-based commands, which are system dependent, NAnt processes build files where targets and tasks are described in XML, making it easier to move projects across systems.

Of course, NAnt does not implement all the functionalities available through shell-based commands, but if you absolutely need a not-implemented functionality, you can either extend NAnt by writing your own task with your preferred .NET programming language, or relay to the general-purpose task, which allows the execution of any program installed on your system.

In order to take full advantage of NAnt capabilities, how projects are structured and how build files are written makes the difference. After introducing how to get, install, and run NAnt, this document presents a set of guidelines that will help you create better projects.

.NET SDC Solution Build & Deployment Process & Tools

GotDotNet User Sample: .NET SDC Solution Build & Deployment Process & Tools

Builds @ SharpToolbox - .NET tools, libraries and add-ins - DotNet tools

Friday, October 28, 2005

NAnt : Little Pretty Automatic - The Code Project - .NET

NAnt : Little Pretty Automatic - The Code Project - .NET

Nantpad Home

Nantpad Home

Automating Your Processes - an NAnt Case Study

Print Story Books: Expert .NET Delivery Using NAnt and CruiseControl.NET Books: Expert .NET Delivery Using NAnt and CruiseControl.NET

Team Development with Visual Studio .NET and Visual SourceSafe

Team Development with Visual Studio .NET and Visual SourceSafe Scripting ASP.NET Builds and Deployments Scripting ASP.NET Builds and Deployments [DOWNLOAD: PDF]: e-Books & Docs: "Scripting ASP.NET Builds and Deployments"

Supporting VS.NET and NAnt

Supporting VS.NET and NAnt

Build Process for .NET in windows Script

More information: Build Process for .Net Developers they can easily build there project with out opening the solutions.if there is any bugs while building it will creare file calles status.txt and stre bugs in that.

Martin Fowler: Articles

Wednesday, October 26, 2005

Neovalis // Neovalis

Neovalis // Neovalis


sitecopy is for easily maintaining remote web sites. The program will upload files to the server which have changed locally, and delete files from the server which have been removed locally, to keep the remote site synchronized with the local site with a single command.

Feature Comparison: XXCOPY vs ROBOCOPY

Feature Comparison: XXCOPY vs ROBOCOPY

NPublisher: Workspace Home

NPublisher: Workspace Home

Scripting ASP.NET Builds and Deployments

Building and deploying ASP.NET applications with Visual Studion.NET is a simple exercise. But to accomplish this feat of magic VS.NET makes some assumptions that may not apply in the real world of production web sites. One of the biggest of these assumptions is that software developers do not mind regularly mouse clicking through all of the wizards required to realize their handiwork. This article demonstrates how to automate building and deploying ASP.NET application via scripting.

Team Development with Visual Studio .NET and Visual SourceSafe

Summary: BuildIt is a Microsoft® .NET console application that automates the build process outlined in the patterns & practices article "Team Development with Visual Studio .NET and Visual SourceSafe" in the MSDN® Library. BuildIt is designed, developed, and tested by Sapient Corporation and it is reviewed by Microsoft, including team members of the Microsoft patterns & practices and Visual Studio® .NET development system. (28 printed pages)

Using BuildIt:

* Eliminates the time required to create, test, and maintain a custom build script.
* Makes a team's build process more repeatable and consistent.

BuildIt is designed to jump-start the build process used for development of .NET distributed applications. The downloadable program provides full source code and comprehensive documentation for Microsoft Visual C#® development tool and Microsoft Visual Basic® .NET development system.

Note BuildIt currently supports building solutions that contain setup projects developed with Visual Basic .NET, Visual C#, and Visual Studio .NET. It has not been tested with projects written in other .NET languages or with other setup projects (for example, setup projects from Wise or InstallShield).

Nullsoft Scriptable Install System

An installer is the first experience of a user with your application. Slow or unsuccessful software installations are the most irritating computer problems. A quick and user friendly installer is therefore an essential part of your software product.

NSIS (Nullsoft Scriptable Install System) is a tool that allows programmers to create such installers for Windows. It is released under an open source license and is completely free for any use.

Tuesday, October 25, 2005

Phorum: PHP Message Board

Phorum is a web based message board written in PHP. Phorum is designed with high-availability and visitor ease of use in mind. Features such as mailing list integration, easy customization and simple installation make Phorum a powerful add-in to any website.

VB.NET ProperCase to TitleCase in C# - FYI - You can use VB specific functions in any C# project: ".NET does have a way to convert to Propercase (now called Titlecase) in C#...
I wrote a quick example for ya!

be sure to add
using System.Globalization;

CultureInfo ci = new CultureInfo('en'); //Create a new CultureInfo class for the english language
TextInfo cc = ci.TextInfo; //Get the textinfo class from the CultureInfo object
MessageBox.Show(cc.ToTitleCase('helLo joP hOw ArE yOU?'));"

Thursday, October 20, 2005

Test Driven Development

10sd.Gold52-53.pdf (application/pdf Object)

IEEE Standard 829 Test Summary Report - Google Search

Acceptance criteria: The criteria that a system or component must satisfy in order to be accepted by a user, customer, or other authorized entity.

Acceptance testing: (1) Formal testing conducted to determine whether a system satisfies its acceptance criteria and enables the customer to determine whether to accept the system. (2) Formal testing conducted to enable a user, customer, or other authorized entity to determine whether to accept a system or component.

Computer Software Configuration Item (CSCI): An aggregation of software that is designated for configuration management and treated as a single entity in the configuration management process. Contrast with: Hardware configuration item See also: Configuration item

Configuration item (CI): An aggregation of hardware, software, or both, that is designated for configuration management and treated as a single entity in the configuration management process. See also: Hardware configuration item; Computer software configuration item.

Development testing: Formal or informal testing conducted during the development of a system or component, usually in the development environment by the developer.

Functional testing: (1) Testing that ignores the internal mechanism of a system or component and focuses solely on the outputs generated in response to selected inputs and execution conditions. Contrast with: Structural testing. (2) Testing conducted to evaluate the compliance of a system or component with specified functional requirements. See also: Performance testing.

Hardware Configuration Item: Hardware items that include disks, disk drives, display screens, keyboards, printers, boards, and chips.

Independent Verification and Validation (IV&V): Verification and validation performed by an organization that is technically, managerially, and financially independent of the development organization.

Installation and checkout phase: The period of time in the software life cycle during which a software product is integrated into its operational environment and tested in this environment to ensure that it performs as required.

Integration testing: Testing in which software components, hardware components, or both are combined and tested to evaluate the interaction between them. See also: System testing; Unit testing.

Load testing: Testing that studies the behavior of the program when it is working at its limits. See also: Stress Testing.

Operational testing: Testing conducted to evaluate a system or component in its operational environment.

Path testing (coverage): Testing that is designed to execute all or selected paths through a computer program.

Pass/Fail criteria: Decision rules used to determine whether a software item or software feature passes or fails a test.

Performance testing: Testing conducted to evaluate the compliance of a system or component with specified performance requirements. See also: Functional testing.

Quality Assurance (QA): (1) The process of evaluating overall project performance on a regular basis to provide confidence that the project will satisfy the relevant quality standards. (2) The organizational unit that is assigned responsibility for quality assurance. [A Guide to the Project Management Body of Knowledge (PMBOK Guide), 2000 Edition]

Quality Control (QC): (1) The process of monitoring specific project results to determine if they comply with relevant quality standards and identifying ways to eliminate causes of unsatisfactory performance. (2) The organizational unit that is assigned responsibility for quality control. [A Guide to the Project Management Body of Knowledge (PMBOK Guide), 2000 Edition]

Quality Management (QM): The processes required to ensure that the project would satisfy the needs for which it was undertaken.

Regression testing: Selective retesting of a system or component to verify that modifications have not caused unintended effects and that the system or component still complies with its specified requirements.

Scenario: (1) A description of a series of events that could be expected to occur simultaneously or sequentially. (2) An account or synopsis of a projected course of events or actions. [IEEE Std 1362-1998, Guide for Information Technology – System Definition – Concept of Operations (ConOps) Document]

Software item: Source code, object code, job control code, control data, or a collection of items.

Stress testing: Testing conducted to evaluate a system or component at or beyond the limits of its specified requirements. See also: Load testing.

Structural testing: Testing that takes into account the internal mechanism of a system or component. Types include branch testing, path testing, statement testing. Contrast with: Functional testing.

System testing: Testing conducted on a complete, integrated system to evaluate the system’s compliance with its specified requirements. See also: Integration testing; Unit testing.

Test: An activity in which a system or component is executed under specified conditions, the results are observed or recorded, and an evaluation is made of some aspect of the system or component.

Test case specification: A document specifying inputs, predicted results, and a set of execution conditions for a test item.

Test design specification: Documentation specifying the details of the test approach for a software feature or combination of software features and identifying the associated tests.

Test Incident Report (TIR): A document reporting on any event that occurs during the testing process that requires investigation.

Test item: A software item that is an object of testing.

Test log: A chronological record of relevant details about the execution tests.

Test phase: The period of time in the life cycle during which components of a system are integrated, and the product is evaluated to determine whether or not requirements have been satisfied.

Test plan: A document describing the scope, approach, resources, and schedule of intended testing activities. It identifies test items, the features to be tested, the testing tasks, who will do each task, and any risks requiring contingency planning.

Test procedure: (1) Detailed instructions for the set-up, execution, and evaluation of results for a given test case. (2) A document containing a set of associated instructions as in (1). (3) Documentation specifying a sequence of actions for the execution of a test.

Test Readiness Review (TRR): A review conducted to evaluate preliminary test results for one or more configuration items and verify that the test procedures for each configuration item are complete, comply with test plans and descriptions, and satisfy test requirements. Verify that a project is prepared to proceed to formal testing of the configuration item.

Test summary report: A document summarizing testing activities and results. It also contains an evaluation of the corresponding test items.

Testability: (1) The degree to which a system or component facilitates the establishment of test criteria and the performance of tests to determine whether those criteria have been met. (2) The degree to which a requirement is stated in terms that permit establishment of test criteria and performance of tests to determine whether those criteria have been met.

Testing: (1) The process of operating a system or component under specified conditions, observing or recording the results, and making an evaluation of some aspect of the system or component. (2)The process of analyzing a software item to detect the differences between existing and required conditions (i.e., bugs) and to evaluate the features of the software items. See also: Acceptance testing; Development testing; Integration testing; Operational testing; Performance testing; Regression testing; System testing; Unit testing.

Unit Testing: The testing of individual hardware or software units or groups of related units (i.e., component, modules). See also: Integration testing; System testing.

IEEE Standards Description: 829-1983

IEEE Standards Description: 829-1983: "ANSI/IEEE 829-1983 IEEE Standard for Software Test Documentation -Description
Content +

* 1. Scope
* 2. Definitions
* 3. Test Plan
o 3.1 Purpose.
o 3.2 Outline.
+ 3.2.1 Test-Plan Identifier.
+ 3.2.2 Introduction.
+ 3.2.3 Test Items.
+ 3.2.4 Features to be Tested.
+ 3.2.5 Features Not to be Tested.
+ 3.2.6 Approach.
+ 3.2.7 Item Pass/Fail Criteria.
+ 3.2.8 Suspension Criteria and Resumption Requirements.
+ 3.2.9 Test Deliverables.
+ 3.2.10 Testing Tasks.
+ 3.2.11 Environmental Needs.
+ 3.2.12 Responsibilities.
+ 3.2.13 Staffing and Training Needs.
+ 3.2.14 Schedule.
+ 3.2.15 Risks and Contingencies.
+ 3.2.16 Approvals.
* 4. Test-Design Specification
o 4.1 Purpose.
o 4.2 Outline.
+ 4.2.1 Test-Design-Specification Identifier.
+ 4.2.2 Features to be Tested.
+ 4.2.3 Approach Refinements.
+ 4.2.4 Test Identification.
+ 4.2.5 Feature Pass/Fail Criteria.
* 5. Test-Case Specification
o 5.1 Purpose.
o 5.2 Outline.
+ 5.2.1 Test-Case-Specification Identifier.
+ 5.2.2 Test Items.
+ 5.2.3 Input Specifications.
+ 5.2.4 Output Specifications.
+ 5.2.5 Environmental Needs.
+ 5.2.6 Special Procedural Requirements.
+ 5.2.7 Intercase Dependencies.
* 6. Test-Procedure Specification
o 6.1 Purpose.
o 6.2 Outline.
+ 6.2.1 Test-Procedure-Spe"

Wednesday, October 19, 2005

Agitar Software, Enterprise Developer Testing for Java

Sriram Sankar: Developer Testing at Google
The Google Environment
XP at Google
Other Quality Initiatives at Google

Sunday, October 16, 2005

Adding and retrieving Images from a SQL Server Table

This article describes the process to add and retrieve images from a SQL Server table using ADO.NET. You can possibly have an entry form that will allow the user to choose what operation he wants to do: add or view images. Depending on the option chosen you can display the relevant form.

To add images to the form, following procedure can be used. A textbox can be displayed on the form to accept the desired image filename from the user. This file must be existing on the local machine and can be chosen using a OpenFileDialog instance.

Thursday, October 13, 2005

NET Application Deployment Best Practices Checklist.pdf (application/pdf Object)

Launch Condition Management in Deployment

The Launch Conditions Editor allows you to specify conditions that must be met in order to successfully run an installation. For example, you might want to check for a specific version of an operating system — if a user attempts to install on a system that does not meet the condition, the installation will not occur.

Searches can be performed on a target computer to determine if a particular file, registry key, or Microsoft Windows Installer component exists.

Predefined launch conditions allow you to add a both search and a launch condition in a single step. The Property property for the search is automatically referenced in the Condition property of the launch condition.

Note To learn more about condition syntax, see Deployment Conditions.

Searches and conditional evaluations are performed at the beginning of an installation and are performed in the order that they are shown in the Launch Conditions Editor.

Tuesday, October 11, 2005

Monday, October 10, 2005

ExplorerXP - Freeware file manager for Win2K/XP

ExplorerXP - Freeware file manager for Win2K/XP

Terminal Services Keyboard Shortcuts RDP REmote Desktop

: "TABLE 1: Terminal Services Keyboard Shortcuts
Keyboard Shortcut Function
Alt+Del Displays the active application's Control menu.
Alt+Home Opens the Windows Start menu within the client session.
Alt+Page Down Cycles (from right to left) through the current taskbar programs.
Alt+Page Up Cycles (from left to right) through the current taskbar programs.
Ctrl+Alt+Break Toggles the client session between windowed and full-screen modes.
Ctrl+Alt+End Opens the Windows Security dialog box, similar to pressing Ctrl+Alt+Del on the local workstation's keyboard.
Ctrl+Alt+Ins Cycles through the current taskbar programs in the order in which the user started them.
Ctrl+Alt+Minus (-) Copies a snapshot of the active client window to the clipboard, similar to pressing Print Screen on the local workstation's keyboard.
Ctrl+Alt+Plus (+) Copies a snapshot of the entire client-session desktop area to the clipboard, similar to pressing Alt+Print Screen on the local workstation's keyboard."

Sunday, October 09, 2005

The Art of Project Management: How to Make Things Happen

Master the many ways to say no

Sometimes, you will need to say no in direct response to a feature request. Other times, you'll need to interject yourself into a conversation or meeting, identify the conflict with priorities you've overheard, and effectively say no to whatever was being discussed. To prepare yourself for this, you need to know all of the different flavors that the word no comes in:

* No, this doesn't fit our priorities. If it is early in the project, you should make the argument for why the current priorities are good, but hear people out on why other priorities might make more sense. They might have good ideas or need clarity on the goals. But do force the discussion to be relative to the project priorities, and not the abstract value of a feature or bug fix request. If it is late in the project, you can tell them they missed the boat. Even if the priorities suck, they're not going to change on the basis of one feature idea. The later you are, the more severe the strategy failure needs to be to justify goal adjustments.
* No, only if we have time. If you keep your priorities lean, there will always be many very good ideas that didn't make the cut. Express this as a relative decision: the idea in question might be good, but not good enough relative to the other work and the project priorities. If the item is on the priority 2 list, convey that it's possible it will be done, but that no one should bet the farm assuming it will happen.
* No, only if you make happen. Sometimes, you can redirect a request back onto the person who made it. If your VP asks you to add support for a new feature, tell him you can do it only if he cuts one of his other current priority 1 requests. This shifts the point of contention away from you, and toward a tangible, though probably unattainable, situation. This can also be done for political or approval issues: "If you can convince Sally that this is a good idea, I'll consider it." However, this can backfire. (What if he does convince Sally? Or worse, realizes you're sending him on a wild goose chase?)
* No. Next release. Assuming you are working on a web site or software project that will have more updates, offer to reconsider the request for the next release. This should probably happen anyway for all priority 2 items. This is often called postponement or punting.
* No. Never. Ever. Really. Some requests are so fundamentally out of line with the long-term goals that the hammer has to come down. Cut the cord now and save yourself the time of answering the same request again later. Sometimes it's worth the effort to explain why (so that they'll be more informed next time). Example: "No, Fred. The web site search engine will never support the Esperanto language. Never. Ever."

Build Automation Using C#, Visual Studio, Source Safe, InsntallShield and NullSoft Installer - The Code Project - C# Programming

Build Automation Using C#, Visual Studio, Source Safe, InsntallShield and NullSoft Installer - The Code Project - C# Programming

NAnt intellisense in VS.NET 2003

NAnt intellisense in VS.NET 2003

Teched Australia Hands On Labs available for download

15 Seconds : Using Open Source .NET Tools for Sophisticated Builds

15 Seconds : Using Open Source .NET Tools for Sophisticated Builds

15 Seconds : Automated Deployment for Side By Side .NET Web Apps for Visual Studio .NET 2003

Wednesday, October 05, 2005

Selenium Project Information

Tessitura Software Announces New Features at Worldwide User Conference

Intix: "Tessitura Software Announces New Features at Worldwide User Conference

Tessitura Network 2005 User Conference Attended by 500+ Users

DALLAS--(BUSINESS WIRE)--Aug. 22, 2005--The annual worldwide Tessitura Network, Inc. user conference was held in Boston this year with record attendance of over 500 users from approximately 100 arts organizations who have licensed Tessitura Software(R) from Impresario, L.L.C. The attendees represented licensees in Australia, the United Kingdom, Canada and the United States.

While at the conference attendees could chose from over 40 sessions presented by 70+ session leaders. General sessions announced the launch of the following major enhancements and interfaces to Tessitura:

* An optional Select Your Own Seat online buying path for organizations who elect to put that power in the hands of their online ticket buyers
* A proven Access Control system utilizing handheld scanners for real time admission authorization
* A kiosk system to handle automated 'will calls' and remote ticket purchases

The Tessitura Network, Inc. structure allows the licensees of the software to vote on priorities for the future development of the software. With version 5.5 released in July, the users voted on development priorities for version 6.0 and 6.5 at the meeting. Tessitura releases new versions twice a year and updates the included web interface at the same time. Starting in 2002, Tessitura licensees have been provided with a web interface that covers online ticketing, contributions, subscriptions and many other functions. No fees are due for any transactions to Impresario or the Tessitura Network, Inc. and thus arts organizations are able to maximize the revenue and contributions they generate. Panel discussions at the conference highlighted average web sales patterns for single tickets of up to 70%. The nonprofit Network organization is governed by a board of senior arts administrators whose interests are aligned with the ne"

How to set up Windows 2003 Web Edition without Plesk?

EV1Servers Forums - View Single Post - How to set up Windows 2003 Web Edition without Plesk?: "5.g) Make IIS recognize c:\php\sapi\php4isapi.dll, go into IIS, select the 'Web Service Extensions' tab, and add extension 'php' with required dll 'c:\php\sapi\php4isapi.dll' specifying it as 'Allowed'."

How to Report Bugs Effectively

How to Report Bugs Effectively: "# The first aim of a bug report is to let the programmer see the failure with their own eyes. If you can't be with them to make it fail in front of them, give them detailed instructions so that they can make it fail for themselves.
# In case the first aim doesn't succeed, and the programmer can't see it failing themselves, the second aim of a bug report is to describe what went wrong. Describe everything in detail. State what you saw, and also state what you expected to see. Write down the error messages, especially if they have numbers in.
# When your computer does something unexpected, freeze. Do nothing until you're calm, and don't do anything that you think might be dangerous.
# By all means try to diagnose the fault yourself if you think you can, but if you do, you should still report the symptoms as well.
# Be ready to provide extra information if the programmer needs it. If they didn't need it, they wouldn't be asking for it. They aren't being deliberately awkward. Have version numbers at your fingertips, because they will probably be needed.
# Write clearly. Say what you mean, and make sure it can't be misinterpreted.
# Above all, be precise. Programmers like precision."

How to install PHP 5.x on Windows Server 2003 with IIS 6

How to install PHP 5.x on Windows Server 2003 with IIS 6

PHP: Microsoft IIS / PWS - Manual - IIS 6 and 2003

PHP: Microsoft IIS / PWS - Manual

Test Plan Template IEEE 829-1998 test standard specification

Testing: Template info : Test Plan Template

SQE Test Incident Report Template

Testing: Template info : SQE Test Incident Report Template

SQE Test Summary Report Template

Testing: Template info : SQE Test Summary Report Template

SQE Master Test Plan Template

Testing: Template info : SQE Master Test Plan Template

Testing: Template info : Generic Credit Card Test Numbers

Monday, October 03, 2005

Controlled Chaos : Living on the Edge

Controlled Chaos : Living on the Edge

SCRUM as Presented to OMG at OOPSLA95

SCRUM as Presented to OMG at OOPSLA95

Articles on Scrum

How Do I in Team Edition for Testers

Visual Studio Team System
How Do I in Team Edition for Testers

This is the gateway to find task-based topics to help you find the answers to your questions. The general categories for describing this information are listed below. These links provide pointers to pertinent information for Microsoft Visual Studio 2005 Team Edition for Software Testers.
How Do I


Work with test projects.

Configure my tests.

Manage my tests.

Use a test rig.

Run a test.

Get test results.

Use a work item.

Perform a unit test.

Perform a Web test.

Perform a load test.

Perform a manual test.

Perform a generic test.

Create an ordered list.

Performing Advanced Web Test Tasks

Performing Advanced Web Test Tasks

How to: Use the Web Test API

How to: Use the Web Test API

You can write code for your Web tests. The Web test API is used to create coded Web tests, Web test plug-ins, request plug-ins, requests, extraction rules, and validation rules. The classes that make up these types are the core classes in this API. The other types in this API are used to support creating WebTest, WebTestPlugin, WebTestRequestPlugin, WebTestRequest, ExtractionRule, and ValidationRule objects. You use the Microsoft.VisualStudio.TestTools.WebTesting namespace to create customized Web tests. Use the object browser to examine the Microsoft.VisualStudio.TestTools.WebTesting namespace. Both the C# and Visual Basic editors offer IntelliSense support for coding with the classes in the namespace.

Saturday, October 01, 2005

Testing .NET Application BlocksVersion 1.0


Testing .NET Application Blocks covers many testing areas that were used during testing and verification of the various application blocks provided by Microsoft's patterns & practices group, such as functional, globalization, performance, integration, and security. The guide uses code examples, sample test cases, and checklists to demonstrate how to plan and implement each type of test; the guide also recommends tools to use to run the tests. It covers test considerations to be taken into account when customizing these application blocks or integrating them with your own applications.

Because this guide focuses on testing NET application blocks, its scope does not include user interface (UI) testing or database testing. Although the guidance is developed within the context of Microsoft patterns & practices application blocks, it still applies to testing .NET code in general.

[Giagnocavo]Michael::Write() - Sunday, June 13, 2004

[Giagnocavo]Michael::Write() - Sunday, June 13, 2004

Object Test Bench

Object Test Bench

Tester Blog: Dinesh

Testing Web applications

As a tester in Microsoft, I got experience in testing APIs, command line tools and Rich client based apps. However, testing web applications or commercial web sites is something I want to learn. Ex: What it takes to test a shopping web site? Some of the things I know in this domain are UI testing, security, load, stress and perf, testing with multiple browsers etc. I also learnt that Winrunner and Loadrunner are the commonly used tools. I would like to know details on how to get a web app to ship quality, commonly used testing strategies and trade offs, tools and process. If you can point to docs and tools that would be great.

Update:2/22: Since the last post, I found couple of good books on web testing:

1. Web testing Companion By Lydia Ash

2. Performance Testing Microsoft .NET Web Applications

Tester Blog: Josh Christie

Josh Christie

British Computer Society - Software Testing

British Computer Society - Software Testing

Getting Started With Carbon

Friday, September 30, 2005

How to Hold a Writer's Workshop

Monday, September 26, 2005

Email Exception Error

Email Error
String message = "Url " + Request.Path + " Error: " + Server.GetLastError().ToString();
MailMessage m = new MailMessage();
m.From ="";
m.To = "";
m.Subject = "if you knew how to code, you wouldn't see this email";
m.Body = message;
SmtpMail.Send( m );

FreeTextBox Forums

Build an ASP.NET Exception Logging Framework

ActionScript 2.0 Unit Test Framework Project Info - ActionScript 2.0 Unit Test Framework

TargetProcess - Agile Project Management & Bug Tracking Software | Download (Project Management Software, Project Tracking, Bug Tracking, Planning, We

TargetProcess - Agile Project Management & Bug Tracking Software | Download (Project Management Software, Project Tracking, Bug Tracking, Planning, Web application)

Automation World Article: Improve competitive quality with extreme programming (Features)

Automation World Article: Improve competitive quality with extreme programming (Features): "The eXtreme Programming methodology advocates a 12-step program to minimize software bugs.The organization’s Web site,, discusses these in detail.

1. Develop user stories. These create time estimates for the release planning meeting and are used instead of a large requirements document. They are written by the customers as things that the system needs to do for them.

2. Hold a release planning meeting. A release plan, which lays out the overall project, is created at this meeting. The release plan is then used to create iteration plans for each software version.

3. Create the release plan. This specifies exactly which user stories are going to be implemented for each system release and specifies dates for those releases.

4. Release small pieces of the system to the customers often. This is critical to getting valuable feedback in time to have an impact on the system’s development.

5. Use iterative development. Have a planning meeting at the beginning of each iteration to plan what will be done.

6. Move people around to avoid serious knowledge loss and coding bottlenecks. If only one person on the team can work in a given area and that person leaves, or more things need to be done in that section, the project’s progress can be reduced to a crawl.

7. Code unit test first. Creating a unit test helps a developer to really consider what needs to be done. Requirements are nailed down firmly by tests.

8. Pair up programmers. All code to be included in a production release is created by two people working together at a single computer. Pair programming increases software quality without impacting time to deliver. It is counterintuitive, but two people working at a single computer will add as much functionality as two working separately, except that it will be much higher in quality.

9. Hold a daily stand-up meeting. Communica"

Saturday, September 24, 2005

Wikalong Firefox Extension

Wikalong Firefox Extension

Edgewall Software: Trac

Automated Deployment for Side By Side .NET Web Apps for Visual Studio .NET 2003

15 Seconds : Automated Deployment for Side By Side .NET Web Apps for Visual Studio .NET 2003

Online Database Functions Testing Tool

15 Seconds : Online Database Functions Testing Tool: "Online Database Functions Testing Tool"

Reasons to switch from SourceSafe to Vault

Reasons to switch from SourceSafe to Vault

Windows Shell Extension for Subversion "Windows Shell Extension for Subversion"

Versioning Models

Versioning Models

Use Microsoft's Virtual PC to Test Software Before Deploying It

Use Microsoft's Virtual PC to Test Software Before Deploying It

Agile Developer Venkat's Blog - Stages of SDLC

Agile Developer Venkat's Blog - Stages of SDLC

Creating an Outlook Task Add-in Solution with Visual Studio 2005 Tools for Office

Summary: Using new Microsoft Office Outlook 2003 add-in support in Microsoft Visual Studio 2005 Tools for the Microsoft Office System, create Microsoft Office Word 2003 task reports using WordProcessingML and XML expansion packs, and create a context menu for tasks in Outlook. (24 printed pages)

Note This article is pre-release documentation and is subject to change in future releases. Visual Studio 2005 Tools for Office Beta 2 is included with Microsoft Visual Studio 2005 Beta 2.The beta release of Outlook add-in support for Visual Studio 2005 Tools for Office Beta 2 is available separately, by downloading Microsoft Visual Studio 2005 Tools for the Microsoft Office System – Outlook (Beta).

Using Sharepoint 2003 Web Services to retrieve Data from a list

TheServerSide.NET - TSS Featured Entry

Microsoft Outlook 2003 Integration with SharePoint Products and Technologies

Microsoft Outlook 2003 Integration with SharePoint Products and Technologies

Using Excel 2003 to Manage Project Sites with Windows SharePoint Service

Office Developer Center: Visual Studio Tools for the Microsoft Office System: Using Excel 2003 to Manage Project Sites with Windows SharePoint Services 2003

Making SharePoint Web Parts Interact

TheServerSide.NET - Making SharePoint Web Parts Interact

TargetProcess - Agile Project Management & Bug Tracking Software | Home

TargetProcess:Suite 1.3.5 is a web-based integrated agile project management and bug tracking software. It is designed to solve distributed teams problems and support agile development processes like Extreme Programming. Integrated Bug Tracking makes project management more effective, improves overall project traceability and provides consistent snapshot of project state. In general, TargetProcess will help you keep project on track in an agile way.

Thursday, September 22, 2005

An Introduction To Ajax

An Introduction To Ajax

Web Services Transactions specifications

Web Services Transactions specifications: "Web Services Transactions specifications"

Understanding Service-Oriented Architecture


It seems probable that eventually most software capabilities will be delivered and consumed as services. Of course they may be implemented as tightly coupled systems, but the point of usage—to the portal, to the device, to another endpoint, and so on, will use a service-based interface. We have seen the comment that architects and designers need to be cautious to avoid everything becoming a service. We think this is incorrect and muddled thinking. It might be valid right now given the maturity of Web Service protocols and technology to question whether everything is implemented using Web services, but that doesn't detract from the need to design everything from a service perspective. The service is the major construct for publishing and should be used at the point of each significant interface. service-oriented architecture allows us to manage the usage (delivery, acquisition, consumption, and so on) in terms of, and in sets of, related services. This will have big implications for how we manage the software life cycle—right from specification of requirements as services, design of services, acquisition and outsourcing as services, asset management of services, and so on.

Over time, the level of abstraction at which functionality is specified, published and or consumed has gradually become higher and higher. We have progressed from modules, to objects, to components, and now to services. However in many respects the naming of SOA is unfortunate. Whilst SOA is of course about architecture, it is impossible to constrain the discussion to architecture, because matters such as business design and the delivery process are also important considerations. A more useful nomenclature might be Service Orientation (or SO). There are actually a number of parallels with object orientation (or OO) and component-based development (CBD):

* Like objects and components, services represent natural building blocks that allow us to organize capabilities in ways that are familiar to us.
* Similarly to objects and components, a service is a fundamental building block that
1. Combines information and behaviour.
2. Hides the internal workings from outside intrusion.
3. Presents a relatively simple interface to the rest of the organism.
* Where objects use abstract data types and data abstraction, services can provide a similar level of adaptability through aspect or context orientation.
* Where objects and components can be organized in class or service hierarchies with inherited behaviour, services can be published and consumed singly or as hierarchies and or collaborations.

For many organizations, the logical starting place for investigating service-oriented architecture is the consideration of Web services. However Web services are not inherently service oriented. A Web service merely exposes a capability that conforms to Web services protocols. In this article we will identify the characteristics of a well formed service, and provide guidance for architects and designers on how to deliver service oriented applications.