Skip to main content


Showing posts from 2006

Cache Stored Procedure SqlParameter Objects

Cache Stored Procedure SqlParameter ObjectsApplies toADO.NET 1.1 What to DoOften, applications must run SQL commands multiple times, cache the Stored Procedure SqlParameter so that they can be reused later. WhyCaching the SqlParameter object avoids recreating the them each time the Stored Procedure needs to be called. Thus improving the performance of the application. WhenThis guideline should be followed whenever you have code repetitively calling stored procedure. HowA good approach is to cache parameter arrays in a Hashtable object. Each parameter array contains the parameters that are required by a particular stored procedure that is used by a particular connection. The following code fragment shows this approach.public static void CacheParameterSet(string connectionString,
string commandText,
params SqlParameter[] commandParameters)
if( connectionString == null || connectionString.Length == 0 )

Should I use an abstract class or an interface? at C# Online.NET (CSharp-Online.NET)

Visual C# Best Practices

* Use abstract classes and interfaces in combination to optimize your design trade-offs.

Use an abstract class

* When creating a class library which will be widely distributed or reused—especially to clients, use an abstract class in preference to an interface; because, it simplifies versioning. This is the practice used by the Microsoft team which developed the Base Class Library. (COM was designed around interfaces.)

* Use an abstract class to define a common base class for a family of types.

* Use an abstract class to provide default behavior.

* Subclass only a base class in a hierarchy to which the class logically belongs.

Use an interface

* When creating a standalone project which can be changed at will, use an interface in preference to an abstract class; because, it offers more design flexibility.

* Use interfaces to introduce polymorphic behavior without subclassing and to model multiple inheritance—allowing a specific type to …

InfoQ: Book Excerpt: Implementing Lean Software Development: From Concept to Cash

The 7 Principles of Lean Software Development:Eliminate Waste
The three biggest wastes in software development are: Extra Features, Churn, Crossing Organizational Boundaries. Build Quality In
If you routinely find defects in your verification process, your process is defective. Create Knowledge
Planning is useful. Learning is essential. Predictable performance is driven by feedback. Defer Commitment
Abolish the idea that it is a good idea to start development with a complete specification. Deliver Fast
Lists and queues are buffers between organizations that simply slow things down. Respect People
Engaged, thinking people provide the most sustainable competitive advantage. Optimize the Whole
Brilliant products emerge from a unique combination of opportunity and technology. Source: InfoQ: Book Excerpt: Implementing Lean Software Development: From Concept to Cash

Remote Debugging with WinDbg

Taken From:Application debugging in a production environment
Author : Hans De Smaele
Published : September 12, 2004

Personally, I like WinDbg the most to do remote debugging. Not only is this the most
powerful debugger, but it has also the most possibilities to connect computers with each
other. In some scenarios, you can connect up to 5 computers to debug a station !
Note: Check the WinDbg documentation for more information about how to setup
remote debugging.
Application debugging in a production environment
Version 1.1 100
An easy way to debug user applications (not kernel problems) with WinDbg is by
installing WinDbg on the debugging station and "DbgSvr" (process server) on the remote
Give the command below on the remote computer :
DbgSvr –t tcp:port=9999
And on the debugging computer, where WinDbg is located, run :
WinDbg –premote tcp:server=<remote station name>, port=9999 –p <PID>
And there you go !

K. Scott Allen : Remote Desktop Hacks

K. Scott Allen : Remote Desktop Hacks: "re: Remote Desktop Hacks
If you download the server 2003 admin pack (free), you can create an MMC snapin for remote desktops. In a multi server environment it is invaluable. Basically looks like windows explorer, your list or remote desktops on the left, and you can just toggle between them.

Also it is configurable per connection whether you want to use a console connection or not."

TestNG - testing framework

TestNG is a testing framework inspired from JUnit and NUnit but introducing some new functionalities that make it more powerful and easier to use, such as:

* JDK 5 Annotations (JDK 1.4 is also supported with JavaDoc annotations).
* Flexible test configuration.
* Support for data-driven testing (with @DataProvider).
* Support for parameters.
* Allows distribution of tests on slave machines.
* Powerful execution model (no more TestSuite).
* Supported by a variety of tools and plug-ins (Eclipse, IDEA, Maven, etc...).
* Embeds BeanShell for further flexibility.
* Default JDK functions for runtime and logging (no dependencies).
* Dependent methods for application server testing.

How to save Google Video as AVI - EXTREME Overclocking Forums

How to save Google Video as AVI - EXTREME Overclocking Forums: "How to save Google Video as AVI

This article is the result of me being asked countless times how to change the .mp4 from to .AVI, when you can simply download them as .AVI to begin with.

Step 1 Navigate to the Google Video that you want to download as if you were simply watching it normally.

Step 2 Click the Download button on the right side of the screen. It will ask if you want to download the Google Video Player. Click Cancel/No!.

Step 3 Click Manually download the video on the right side of the screen, under the Download button. Save this GVP file and open it with Notepad.

Step 4 If its not already on, turn on Word Wrap in Notepad by clicking the Format menu, then Word Wrap.

Step 5 In Notepad, select and copy all the text in between url: and docid:

Step 6 Paste this address into your internet browser or download manager, and let the download begin!

You can delete the GVP file you downloaded, its …

A 3-Step Success Strategy For Leading Change

A 3-Step Success Strategy For Leading Change
By Barbara Brown, PhD

As a leader, you know that change is an ongoing process, not a one-time event. The trick is to implement change in a way that does not destroy your organization, disrupt your service, and demoralize your staff. These three steps of the change process will help you do that.

Step 1: Analyze The Change

Before you begin any change process, think about what you want to continue doing, what you want to stop doing, and what you want to start doing. Consider the following strategies:

1. Givens: These are aspects of the change you cannot control. This change must happen, regardless of what you want, what you say, or what you do. You cannot control what will happen, when it will happen, how it will happen, where it will happen, or whom it will happen to.

2. Negotiables: These are aspects of the change you can influence. This change may or may not be necessary. It could be modified or adjusted in some way. You may be able to control wh…

9 Smart Things Leaders Do To Keep A “Priority” Focus

9 Smart Things Leaders Do To Keep A “Priority” Focus: "Phoenix Checklist Questions-The Problem

1. Why is it necessary to solve the problem?
2. What benefits will you receive by solving the problem?
3. What is the unknown?
4. What is it you don’t yet understand?
5. What is the information you have?
6. What isn’t the problem?
7. Is the information sufficient? Or is it insufficient? Or redundant? Or contradictory?
8. Should you draw a diagram of the problem? A figure?
9. Where are the boundaries of the problem?
10. Can you separate the various parts of the problem? Can you write them down? What are the relationships of the parts of the problem?
11. What are the constants (things that can’t be changed) of the problem?
12. Have you seen the problem before?
13. Have you seen this problem in a slightly different form?
14. Do you know a related problem?
15. Can you think of a familiar problem having the same or a similar unknown?
16. Suppose you find a problem related to yours that has already been solv…