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 ruby-lang.org) 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 - WhatIsMyIP.com

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

Description

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

ERUNT and NTREGOPT

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:

CREATE TABLE UserSettings
(
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);

connection.Open();

SqlDataReader reader = command.ExecuteReader();

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

reader.Close();
connection.Close();"

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 Asp.net

Implementing Hit Counters in Asp.net

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.build}.#{v.revision}\')]'
end
end
end

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

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

ComputerZen.com - 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

ONDotnet.com: Using NAnt to Build .NET Projects

ONDotnet.com: 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:

http://radio.weblogs.com/0106046/stories/2002/08/10/supportingVsnetAndNant.html


He also has a Nant build script to convert existing VS.Net projects into Nant build files using his style sheet:
http://radio.weblogs.com/0106046/VSConvert.xsl


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


http://www.ondotnet.com/pub/a/dotnet/2003/01/27/nant.html?page=1


Using NAnt you can also tie your build process into a daily build tool such as CruiseControl.Net(http://www.continuousintegration.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

Downloads

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! - Msgweb.nl

Windows Live Messenger, the next version of MSN! - Msgweb.nl

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

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

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

GO

SELECT SupplierID, CompanyName

FROM Suppliers

WHERE CompanyName LIKE 'T%'

GO

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)

1>

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

BULK INSERT

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

BULK INSERT [ [ 'database_name'.] [ 'owner' ].] { 'table_name' FROM 'data_file' }
[ WITH
(
[ BATCHSIZE [ = batch_size ] ]
[ [ , ] CHECK_CONSTRAINTS ]
[ [ , ] CODEPAGE [ = 'ACP' | 'OEM' | 'RAW' | 'code_page' ] ]
[ [ , ] DATAFILETYPE [ =
{ 'char' | 'native'| 'widechar' | 'widenative' } ] ]
[ [ , ] FIELDTERMINATOR [ = 'field_terminator' ] ]
[ [ , ] FIRSTROW [ = first_row ] ]
[ [ , ] FIRE_TRIGGERS ]
[ [ , ] FORMATFILE = 'format_file_path' ]
[ [ , ] KEEPIDENTITY ]
[ [ , ] 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

[C#]
// 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);
}
return(Size);
}
public static void Main(string[] args)
{
if (args.Length != 1)
{
Console.WriteLine("You must provide a directory argument at the command line.");
}
else
{
DirectoryInfo d = new DirectoryInfo(args[0]);
Console.WriteLine("The size of {0} and its subdirectories is {1} bytes.", d, DirSize(d));
}
}
}

[C++]

TaskSwitchXP: Main Features | NTWind Software

TaskSwitchXP: Main Features | NTWind Software

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