Thursday, December 18, 2008


Every one want to learn or have to learn for the sake of job little tactics in differenct applications or softwares.

This article is written to tell you that how can you get the excel filename in excel sheet which you are viewing so you come to know that on which partition of harddisk the file is stored. Here is the simple formula.


Just write this in your excel sheet and you will get the filename and its complete path along with its sheet name in result.

Saturday, November 22, 2008

How to Convert Number to Character in JavaScript.

To convert a number into character in javascript we will use the following command.

mycharacter = String.fromCharCode(1605);

That's all. Enjoy the world of programming!!!!!!!!!

Friday, November 21, 2008

Access to the path 'path' is denied.

This problem is rear but create big problem sometime for novice as well professional programmers. The simple solution to resolve the issue is written below:

1) Goto c:\inetpub\wwwroot\your_folder_name.

2) Go to properties of your_folder_name by right clicking on your folder.

3) Inside Properties, you will see a Security Tab.

4) Click on Security Tab and assign Full Control to EveryOne Role.

That's all!.... Now open your file again in browser and see that you have resolved the problem.

Note: I have write c:\inetpub because my windows directory is C Drive. If you have installed your windows in another Drive then write Drive\inetpub\wwwroot\your_folder_name.

Wish you all the best.

Saturday, November 1, 2008

The credentials supplied conflict with an existing set of credentials


Credentials are a username/password combination. In this case, you already have a logon session started with a set of credentials and have tried to start another session between the same computers, using the same set of credentials.

User Action:

Either end the existing session, or log on with a different set of credentials. Note that this message may not be caused by anything you did at the user interface, but can be caused by a running application (applications can log on as users). In that case, contact the supplier of the running application.

Sunday, October 26, 2008

How To Add The File Name and Path to the Header or the Footer in MS Word

To add the file name and path to the header or the footer in a Word document, follow these steps:
1.On the View menu, click Header and Footer.

The header is outlined by non-printing dotted lines.

NOTE: If you want to add the file name and path of your document to the footer, click Switch Between Header and Footer on the Header and Footer toolbar.
2.Click Insert AutoText on the Header and Footer toolbar, and then click Filename and path.
To insert the file name and path into the body of a Word document, point to AutoText on the Insert menu, point to Header/Footer, and then click Filename and path.

Saturday, October 25, 2008

How do I stop people from posting spam messages on yahoo group?

If you are group owner or a moderator with the assigned privilege, you can change the settings so that all new messages have to be moderated. Then you would have to approve them all before they can be posted to your group.

Go to Management->Group Settings ->Messages->Posting and Archives (click Edit)->Posting Options (In the Moderation column, select Moderated.
Make sure to click Save Changes.

Friday, October 24, 2008

Your computer was joined to the domain using your computer old name because the following error has occurred. The directory service is busy.

To resolve this issue follow the given instructions.

1) Go to start menu and click on Run.

2) Type 'cmd' inside Run Window and click ok.

3) Command Prompt will open. Now write net use and Press Enter Button.

4) It will show all the shared drives. If there is any shared resource shown then first disconnect it.

5) After disconnecting the drives come back to Command Prompt and write net use */delete.

6) Now join it back to the domain and all the hurdles are gone.

I hope that this solution will help you as it resolve my issue.

Multiple connection to a server or shared resource by the same user, using more than one username, are not allowed. Disconnect all previous connection

To resolve this error follow these instructions.

1) Look at the sessions that are simultaneously running. On a Windows machine, Run -> ‘net use’. This will list all the connections.

2) Ensure that you dont access the shared drive when the program is running.(to avoid starting a new connection)

3) Delete all the connections to the storage. Better still, do a ‘net use * /delete’

I hope that this will resolve the issue as it happens with me.

Tuesday, October 14, 2008

Use DataTable.Rows.Find() Instead of DataTable.Select()

ADO.NET generates indexes on the primary key(s). So, if you have to search a datatable for records based on some primary key value, use DataTable.Rows.Find() instead of DataTable.Select(). The Find method will use the index to find the row. This turns out to be faster because of the presence of the index.

Monday, October 6, 2008



This makes the member visible globally

Eg. class Gremlin { public Gremlin spawn() { return new Gremlin(); } }


This makes the member visible to the current class and to child classes. Protected members are only accessible in the same class or through inherited classes.

Eg. class ParentClass { protected int valueA; }
class ChildClass { public void doSomething() { valueA = 3; } }


This makes the member visible only to the current class.

Eg. class MyCollection { private int lastIndex; }

internal / Friend

This makes the member visible within the same assembly.

Eg. internal class ProprietaryStuff { }

protected internal / Protected Friend

A combination of protected and internal. This makes the member visible within the same assembly and also makes the member visible to an inheriting class. An inheriting class does not need to be in the same assembly to access the member.

Sunday, September 21, 2008


The below code perform sql transaction in VB.NET. We can use this code in C# also by making only some changes.

trans = con.BeginTransaction
com.Transaction = trans
com.Connection = con

strSql = "Insert into Departments values('005','ABC')"
db.Save(strSql, com)

strSql = "Update Departments set department_name='EF' where department_code='002"
db.Save(strSql, com)
Catch ex As Exception
End Try


To Capitalize all the characters in a string we use:

ucase( string_name )

To make all the characters of a string Small Letters we use:

lcase( string_name )

To Capitalize first letter of string we use:

StrConv( string_name , VbStrConv.ProperCase)


To interact with user before saving any record or performing a very important operation we can re ask him through dialog result by following the below method.

Dim Buttons As Integer = MessageBoxButtons.YesNo

Dim Result As DialogResult

Result = MessageBox.Show(Me, Message, Caption, MessageBoxButtons.YesNo, _
MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)

If Result = DialogResult.Yes Then
MessageBox.Show("You choosed Yes")
MessageBox.Show("You choosed No")
End If

Invalid KeyCodeV2.dll or KeyCodeV2.dll Not Found

The reason you are getting this error is because the machine that you are trying to run your application on does not contain the drivers Crystal Report needs to run. Here is your solution:

Finding Out What the Crystal Report Distribution Key is on VS.NET 2003:

1- Open VS.NET 2003
2- Click on Help Menu Option
3- Choose "About Microsoft Development Environment"
4- Look under Crystal Reports for Visual Studio .NET, you will see a 19 character number, which is the Distribution Key Code:

Example: AAA00-BB00000-C0000DD

Producing the Deployment Project:

Open Solution Explorer, right click on the “Solution Name” at the top and Add a New Project. On the window that appears, move to Setup and Deployment Projects. Click on Setup Project (not the wizard), put a name for your deployment project (make a note of the location where the folder that the deployment project will be created in) and then click OK. A File System dialog will appear – solution explorer should be displayed on the left of screen. Within solution explorer – right click over your deployment project and select Add – Project Output. Another window will appear – select Primary Output (make sure configuration is showing Active) and click OK. This will result in the detected dependencies being updated & a primary output icon appearing in the deployment project. Right click on the deployment project name again and Add – Merge Modules. Add the following modules.


These were the appropriate modules for my application given that I am using VS 2003. Yours may be slightly different.

Right click on Crystal_regwiz2003.msm and go to its properties. Enlarge the MergeModuleProperties tree and enter the product licence key which is like this AAA00-BB00000-C0000DD that we found above.

Go onto Build – Configuration Manager . Check that the Project & Deployment Project which appear are set to “Release” and the Build check box for each is checked. Build the Project. If all is well the build should show no errors.

If this has gone according to plan you should now have (in the folder specified in the “location” window given when you added your deployment project) a debug and release folder. The release folder will contain:

- setup (application)
- setup (config file)
- an installer package

The release folder is all that is needed to deploy the application on another machine.

Wednesday, September 17, 2008

How to Use VLOOKUP or HLOOKUP to find an exact match


The VLOOKUP and HLOOKUP functions contain an argument called range_lookup that allows you to find an exact match to your lookup value without sorting the lookup table.

Note It is not necessary to sort the lookup table if you use the range_lookup argument correctly.


The syntax of these functions are defined as follows.

VLOOKUP Function



Argument Definition of argument

lookup_value The value to be found in the first column of the array.

table_array The table of information in which data is looked up.

col_index The column number in the table_array for which the
matching value should be returned.

range_lookup It is a logical value that specifies whether
you want to find an exact match or an approximate match.
If TRUE or omitted, an approximate match is returned; in
other words, if an exact match is not found, the next
largest value that is less than the lookup_value is
returned. If FALSE, VLOOKUP finds an exact match. If an
exact match is not found, the #N/A error value is returned.

Note If range_lookup is TRUE or omitted (for an approximate match), the values in the first column of table_array must be sorted in ascending order. If range_lookup is FALSE (for an exact match), the table_array does not need to be sorted.
Example That Uses FALSE as the Range_lookup Argument
The following list contains some fruits and their respective colors. Notice that the first column is not sorted:

A1: Fruit

B1: Color

A2: Kiwi

B2: Green

A3: Grape

B3: Yellow

A4: Banana

B4: Red

A5: Apple

B5: Pink

The following formula finds the color (Red) that corresponds to the fruit Apple. You can type the formula in any cell on the worksheet:


Notice that if you change the range_lookup argument to TRUE, Excel returns the #N/A error, because the first column is not sorted.

HLOOKUP Function



Argument Definition of argument

lookup_value The value to be found in the first column of the array.

table_array The table of information in which data is looked up.

row_index The row number in the table_array for which the
matching value should be returned.

range_lookup It is a logical value that specifies whether
you want to find an exact match or an approximate match.
If TRUE or omitted, an approximate match is returned; in
other words, if an exact match is not found, the next
largest value that is less than the lookup_value is
returned. If FALSE, VLOOKUP finds an exact match.
If an exact match is not found, the #N/A error value is

Note If range_lookup is TRUE or omitted (for an approximate match), the values in the first row of table_array must be sorted in ascending order. If range_lookup is FALSE (for an exact match), the table_array does not need to be sorted.
Example That Uses FALSE as the Range_lookup Argument
The following list contains some fruits and their respective colors. Notice that the first column is not sorted:

A1: Fruit

B1: Color

A2: Kiwi

B2: Green

A3: Grape

B3: Yellow

A4: Banana

B4: Red

A5: Apple

B5: Pink

The following formula finds the Color column, and returns the third item (-1) for the heading Yellow. You can type the formula in any cell on the worksheet:


Notice that if you change the range_lookup argument to TRUE, Excel returns the #N/A error, because the first column is not sorted.

Friday, September 5, 2008

Where the Favourites Websites of Internet Explorer Stored??

The favourites websites are stored on the following location.

C:\Documents and Settings\YOUR_LOGIN_NAME_FOLDER\Favorites

Where the BookMarks of Firefox Stored in HardDisk??

A file with extension ".json" stored on your harddisk on the following location.

C:\Documents and Settings\Administrator.QUALITY\Application Data\Mozilla\Firefox\Profiles\e111rkk7.default\bookmarkbackups

Just Open it and you will get your favourite sites.

Wednesday, August 27, 2008

How to Uninstall Symantec Antivirus If we Forget the Password.

I have faced this problem with a workstation inside my Network. Then I follow these steps to remove uninstall Symantec Antivirus.

1) Go to Registry (Regedit).



Refresh the registry and then Uninstall Symantec Antivirus. You will get what you want.

Tuesday, August 19, 2008


Dim FILE_NAME As String = "C:\file2.txt"

If System.IO.File.Exists(FILE_NAME) = True Then

Dim fs As New FileStream(FILE_NAME, FileMode.Create, FileAccess.Write)
Dim s As New StreamWriter(fs)
s.WriteLine("Congrates you have created a new file")

ElseIf System.IO.File.Exists(FILE_NAME) = False Then

Dim fs As New System.IO.FileStream(FILE_NAME, FileMode.Create, FileAccess.Write)
Dim s As New System.IO.StreamWriter(fs)
s.WriteLine("Congrates you have created a new file")

End If

Saturday, August 9, 2008


Polymorphism is the core concept of OOP's. Polymorphism means one name many forms.

Types of polymorphism

  1. Compile Time Polymorphism

  2. Run Time Polymorphism

Compile Time Polymorphism

The compile time polymorphism, here the polymorphism is implemented during compile time, that means at the time of compilation the compiler knows where to bind the method. The compile time polymorphism can be implemented through:

  • Method Overloading

  • Operator Overloading

Method Overloading:

In complex applications written in C#, we may need many methods which do essentially similar functions but are just different enough to be considered unique. So, we can define method overloading as if two or three method in a class has same name but they differ by number of arguments or type of argument.

Operator Overloading:

This provides a meaningful understanding of the operation by using operator overloading. Here what we did is we overload an operator and change its meaning, so that a valuable information is send to the programmer and this help in reducing the complexity.


If we need to add two matrix of 3X3

Matrix result = Matrix.Add(mat1, mat2); // this doesn't give any relevant information

Run Time Polymorphism

The run time polymorphism, here the compiler doesn't know which method to call at runtime. Here we can call the derived method through base class pointer at runtime. The run time polymorphism can be implemented through: Virtual – Override Keyword.

Vitual function:

The virtual function is used to implement runtime polymorphism; here we have same name method in the base class as well as in the derived class. We can access the derived method using the base pointer. The virtual keyword should be write in front of the base class method and in the derived class we have to write override in front of the method. For Example:-

Class BaseClass {

Virtual void display () {//statements}


Class DerivedClass {

Override void display () {//statements}


Example: Demonstrate Polymorphism


using System;

using System.Collections.Generic;

using System.Text;



class BaseClass8


String str = "Base" ;

public BaseClass8() { }

public String display() {

return str + ": BaseClass Display" ;


public virtual String show() {

return str + ": BaseClass Show" ;





using System;

using System.Collections.Generic;

using System.Text;



class DerivedClass8 : BaseClass8


String str = "Derived" ;

public DerivedClass8() { }

public new String display() { //NEW KEYWORD is USE TO HIDE THE


return str + ": Display Derived" ;


public override String show() { //OVERRIDE KEYWORD IS USED IF


return str + ": SHOW Derived:" ;





using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;



public partial class Form8 : Form


public Form8()




private void button1_Click( object sender, EventArgs e)

{ //Virtual: Polymorphism at RunTime

BaseClass8 objBase = new DerivedClass8 ();

label5.Text = objBase.display();

label6.Text =;


private void button2_Click( object sender, EventArgs e)


BaseClass8 objBase = new BaseClass8 ();

label1.Text = objBase.display();

label2.Text =;


private void button3_Click( object sender, EventArgs e)


DerivedClass8 objDer = new DerivedClass8 ();

label3.Text = objDer.display();

label4.Text =;






We can compare dates by the following way.

if CDate(#1/11/2004#) > CDate(#28/ 10/2004#) then
' do stuff
end if


This problem is occurred when you are using Crystal Reports in any of your project and have not installed VS.NET 1.x . As you install the full software of Visual Studio 1.x (2003) , it also install DLL's for Crystal Report. So, to solve this problem you have two solutions.

1) Install Visual Studio 2003.

2) Go to References in your project solutions and Follow these options:

a) Right Click on Add Reference.
b) Choose Projects tab in the windows of Add Reference.
c) Click on Browse Button and Select KeyCodeV2.Dll file from "C:\Program Files\Common Files\Crystal Decisions\1.0\Bin\keycodeV2.dll".

Add the file in your references and be happy because now the project will not give the KeyCodeV2 file error.

Happy Programming.

Hope my solution will help you in this regards. I have also solved it in this way.

Wednesday, August 6, 2008

Boxing and Unboxing in C# .Net


In this article I will explain the concepts of Boxing and UnBoxing. C# provides us with Value types and Reference Types. Value Types are stored on the stack and Reference types are stored on the heap. The conversion of value type to reference type is known as boxing and converting reference type back to the value type is known as unboxing.

Let me explain you little more about Value and Reference Types.

Value Types

Value types are primitive types that are mapped directly to the FCL. Like Int32 maps to System.Int32, double maps to System.double. All value types are stored on stack and all the value types are derived from System.ValueType. All structures and enumerated types that are derived from System.ValueType are created on stack, hence known as ValueType.

Reference Types

Reference Types are different from value types in such a way that memory is allocated to them from the heap. All the classes are of reference type. C# new operator returns the memory address of the object.


Lets see some examples to have a better understanding of Value Types and Reference Types. Since we know that all ValueTypes are derived from System.Value we can write something like this:

 System.ValueType r = 5;       

So what do you think about the above line of code. Will it compile ? Yes it will compile. But wait what type is it cause I don't remember any type which is called System.ValueType since its a base class from which all value types inherit. So is it Int32, Int64,double, decimal etc. It turns out that the type for variable 'r' is System.Int32. The Question arrises why Int32 and why not Int16. Well its because it is mapped to Int32 by default depending upon the Initial value of the variable.

You cannot write something like this since System.ValueType is not a primitive type its a base class for primitive value types and these mathematical operations can be performed on primitive types.

System.ValueType r = 10;

In the above example I told you that variable 'r' will be a System.Int32 variable but if you don't believe me than you can find out yourself using the GetType() method:

 System.ValueType r = 5;
Console.WriteLine(r.GetType()) // returns System.Int32;

Here are few samples you can try on your own:

System.ValueType r = 23.45;
Console.WriteLine(r.GetType()); // what does this print
System.ValueType r = 23.45F;
Console.WriteLine(r.GetType()); // What does this print
System.ValueType r = 2U;
Console.WriteLine(r.GetType()); // What does this print
System.ValueType r = 'c';
Console.WriteLine(r.GetType()); // What does this print
System.ValueType r = 'ac';
Console.WriteLine(r.GetType()); // tricky
System.ValueType r = "Hello World";
Console.WriteLine(r.GetType()); // tricky


Lets now jump to Boxing. Sometimes we need to convert ValueTypes to Reference Types also known as boxing. Lets see a small example below. You see in the example I wrote "implicit boxing" which means you don't need to tell the compiler that you are boxing Int32 to object because it takes care of this itself although you can always make explicit boxing as seen below right after implicit boxing.

Int32 x = 10;
object o = x ; // Implicit boxing
Console.WriteLine("The Object o = {0}",o); // prints out 10
Int32 x = 10;
object o = (object) x; // Explicit Boxing
Console.WriteLine("The object o = {0}",o); // prints out 10


Lets now see UnBoxing an object type back to value type. Here is a simple code that unbox an object back to Int32 variable. First we need to box it so that we can unbox.

Int32 x = 5;
object o = x; // Implicit Boxing
x = o; // Implicit UnBoxing

So, you see how easy it is to box and how easy it is to unbox. The above example first boxs Int32 variable to an object type and than simply unbox it to x again. All the conversions are taking place implicitly. Everything seems right in this example there is just one small problem which is that the above code is will not compile. You cannot Implicitly convert a reference type to a value type. You must explicitly specify that you are unboxing as shown in the code below.

Int32 x = 5;
object o = x; // Implicit Boxing
x = (Int32)o; // Explicit UnBoxing

Lets see another small example of unboxing.

Int32 x = 5; // declaring Int32
Int64 y = 0; // declaring Int64 double
object o = x; // Implicit Boxing
y = (Int64)o; // Explicit boxing to double

This example will not work. It will compile successfully but at runtime It will generate an exception of System.InvalidCastException. The reason is variable x is boxed as Int32 variable so it must be unboxed to Int32 variable. So, the type the variable uses to box will remain the same when unboxing the same variable. Of course you can cast it to Int64 after unboxing it as Int32 as follows:

Int32 x = 5; // declaring Int32
Int64 y = 0; // declaring Int64 double
object o = x; // Implicit Boxing
y = (Int64)(Int32)o; // Unboxing and than casting to double

I am sure that you all have grasp the basic understanding of Boxing and Unboxing. Happy Coding and practice a lot !

Wednesday, July 30, 2008

Invalid Report Source

The error message appears because the incorrect versions of the Crystal DLL files are referenced.

To correct this behavior reference the correct version of Crystal DLL files.

Adding the Correct References

1. Open the VS .NET project.

2. In the 'Solution Explorer' window, right-click the 'References' folder and choose the 'Add Reference' command. The 'Add Reference' window appears.

3. Verify the References for all Crystal DLLs are version 9.1.5000. If they are not version 9.1.5000, select the 9.1.5000 version DLLs and click the 'Select' button.

4. Click the 'OK' button.

5. Save and run your application.

If running the application you find the DLLs revert to the version observed prior to your updates, complete the following steps:

Reverting DLLs Back to Version 9.1.5000

1. Right-click the project name in the solution explorer and select the 'Properties' command. The 'Properties' window appears.

2. Under the 'Common Properties' folder, select 'References Path'. The 'Reference Path' window appears.

3. Delete all entries in this window and click 'OK'.

4. Repeat steps 2 through 4 of the 'Steps to Add the Correct References Section'.

Upon completing the listed steps, the application runs and reflects the correct References.

she send me this thru my mail i have copied and pasted it here

so it may be helpful to other who visit this forum

Thanks a lot for all those who tried to solve this problem.

dont forget to rate my post

Monday, July 28, 2008


There are Five Access Modifiers available in .NET. Following are the functionalities of these Modifiers.

Term Used With… Visibility
Public Variables/Properties/Methods/Types Anywhere in or outside of a project

Private Variables/Properties/Methods/Types Only in the block where defined

Protected Variables/Properties/Methods Can be used in the class where defined. Can be used within any inherited class.

Friend Variables/Properties/Methods Can only be accessed by code in the same project/assembly.

ProtectedFriend Variables/Properties/Methods Combination of Protected and Friend

Sunday, July 27, 2008


I have build this query to get the 2nd minimum amount (salary) of employees no matter how much occurrences they have. I want to retrieve each occurrence of 2nd minimum amount. The following query gives me my desired result.

Select amount
From table2
where amount = ( Select distinct top 1 amount
from (Select top 2 amount
from table2
order by amount asc) a
order by amount desc )

Saturday, July 26, 2008

Class MSComCtl2.DTPicker of control was not a loaded control class.

MSComCtl2.DTPicker dll is not registered.

Just register the dll by using the following command.

regsvr32 path_where_file_stored/MSComCtl2.DTPicker


This error is displayed when you have used reports in your projects and your reports are builds in Crystal Reports 8.5.

Error is because of Crystal Report Viewer.

Install Crystal Report 8.5 and problem solved

Wednesday, July 23, 2008

BC30560: 'CrystalReportViewer' is ambiguous in the namespace 'CrystalDecisions.Web'.

This error drove me crazy but I found the fix if anyone is interested:

On the HTML Behind the Form there are duplicate declarations for the Prefix tag:
<%@ Register TagPrefix="cr" Namespace="CrystalDecisions.Web" Assembly="CrystalDecisions.Web, Version=10.0.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" %>

My error was caused by having one for version 10.x and this one for version 9.x
I deleted the one for version 10.x and the error went away.

Monday, July 14, 2008

What is a favicon?

What is a favicon?

Notice the red “Y!” symbol that appears in the left-most area of the address bar in Internet Explorer graphic below. Look familiar? Yep, that’s Yahoo’s favicon. These favicons (favorites icons), sometimes called “bookmark icons,” appear after adding a website with a favicon to the favorites menu in Internet Explorer and certain other browsers.

Favicon in IE address bar

Favicons also appear in the favorites menu after a page is added. Most anyone who’s roamed the Internet and bookmarked sites of interest has noticed favicons showing up in the favorites menu like this:

Favicons in favorites menu

They also often appear in the Windows Start menu after installing a program as shown here:

Favicons in Windows Start menu

Creating a favicon

A favicon should be 16 X 16 pixels with 16 colors and the file name should be favicon.ico. IconEdit32 is a good freeware program that allows you to create favicons as well as icons of other sizes and color depths. IrfanView is an excellent freeware image viewer that supports the icon (.ico) image format. You can use it to shrink one of your regular images to a 16 X 16 size, then decrease the colors to 16 and save as a “.ico” file. I like to use IrfanView to get an image down to specifications, then edit it with IconEdit32. Remember, if you don’t save it as “favicon.ico,” it won’t work. Also, don’t just shrink an image to icon size and rename it with a “.ico” file extension. That won’t work either because it’s not a real icon file.

Installing a favicon on your website

Simply upload the file, favicon.ico to the root web directory of your hosted website with your favorite FTP program, Microsoft FrontPage, Dreamweaver MX or whatever. Make sure your favicon file is named “favicon.ico.” When someone bookmarks your site with a browser that supports favicons, your favicon will appear. Alternatively, you can use this code between the <\head><\/head>(x)HTML tags:

<\link rel="icon" href="favicon.ico" type="image/x-icon" >
<\link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />



Monday, June 30, 2008

Purpose and Description of svchost.exe

File purpose and description:
svchost.exe is a program that would have arrived on your computer the day you purchased it. Always verify the exact disk location as shown below, since many spyware and virus writers attempt to fool you by using similiar or same names but locate the file in other folders. Svchost.exe is a program which is a critical windows program which monitors programs, manages dll's, and controls loading of system processes. You will find multiple occurances of this running. This will always be running and you cannot kill this task. This file is considered safe and is not spyware or virus related, however, make sure the file is not located at c:\svchost.exe, as many viruses and spyware programs have used this name to confuse you, and several viruses put this svchost name in your root directory which is not the proper location for this file. Also pay close attention that svchost is not spelled scvhost, as these are not the same but look so close its hard to notice! (See the details below for the actual location of this file.)

Actual file or task name:

File type:
This is an executable program.

File or folder location:
This program is located in your Windows\system32 folder, as in %SystemRoot% \System32\ svchost.exe

General information:
Be aware that many tasks will be similiar names to existing tasks or processes. You can always view the running tasks on your computer by pressing ctrl-alt-del to view the windows "task manager", and then view the "processes" tab. This will show you all tasks running or currently active on your PC. Although this shows you all running tasks, it does not show dll file thats are loaded, as they get loaded as part of other processes. Many spyware writers attempt to hide their files on your computer, for example, svchost.exe may be intentionally misspelled to look like a similiar task, or spyware may be named very similiar to a Windows system task. The reason they do this is so you cannot easily recognize the name in your tasklist as I have mentioned above. Make sure always check the location of the file if you are concerned. You can always find the location of svchost.exe on your computer by using your Windows search options.

Wednesday, June 18, 2008

Excel in Seperate Windows


When I want to open up several excel files, they all go into the same
application. Is there any way I can set my computer up so that when I
click to open a file, it opens in its own window on the bottom bar. I
want to be able to alt-tab between windows. Currently, I have to go
to Window/then the file. any thoughts>??



In Excel, Tools, Options, View, Checkbox for Windows in Taskbar.


another option is using the "ctrl+F6" key which switches between documents,it is meant for doing just what you want to do.

Friday, June 13, 2008

How to Change location of Item in VB.NET

Dear Friends,

You can change the location of an item (textbox, button, comboBox, etc) on the form by
using this command.

ItemName.location = new point(x,y)



By Implementing httpruntime tag I solved a webservice problem. Problem was that a report was not displayed and show me a time out error. By implementing this problem was resolved.

<\httpRuntime> Element

Configures ASP.NET HTTP runtime settings. This section can be declared at the machine, site, application, and subdirectory levels.


            maxRequestLength="size in kbytes"

minFreeThreads="number of threads"
minFreeLocalRequestFreeThreads="number of threads"
appRequestQueueLimit="number of requests"
versionHeader="version string"/>

Optional Attributes

Attribute Option Description
appRequestQueueLimit The maximum number of requests that ASP.NET will queue for the application. When there are not enough free threads to process a request, the requests are queued. Incoming requests will be rejected with a "503 - Server Too Busy" error when the queue exceeds the limit specified in this setting.
executionTimeout Indicates the maximum number of seconds that a request is allowed to execute before being automatically shut down by ASP.NET.
Specifies whether the App Domain is enabled. at the current node and at the child node level. The default value is true.
true Specifies that the App Domain be enabled.
false Specifies that the App Domain be disabled. The application is not loaded in memory and any client request will cause a 404 error to be issued.
idleTimeOut Specifies the App Domain idle time before it is shut down. The default value is 20 minutes.
enableKernelModeCache Specifies whether output caching is enabled. At this time, this attribute is only relevant when IIS version 6.0 or later is installed. The output caching configuration and type of request determines whether content can be cached.

In order to cache a response, the following criteria need to be met:

  • Caching must be explicitly enabled by a page directive or by the use of the caching API.
  • Caching must have an expiration policy so that the kernel knows when to discard it.
  • Caching cannot have any variable headers or parameters.
  • The request must not require any authentication.
true Specifies that caching be enabled.
false Specifies that caching be disabled.
maxRequestLength Indicates the maximum file upload size supported by ASP.NET. This limit can be used to prevent denial of service attacks caused by users posting large files to the server. The size specified is in kilobytes. The default is 4096 KB (4 MB).
minFreeLocalRequestFreeThreads The minimum number of free threads that ASP.NET keeps available to allow execution of new local requests. This number of threads is kept reserved for requests coming from the local host, in case some requests issue child requests to the local host during their processing. This avoids a possible deadlock with recursive reentry into the Web server.
minFreeThreads The minimum number of free threads to allow execution of new requests. ASP.NET keeps this many threads free for requests that require additional threads to complete their processing.
useFullyQualifiedRedirectUrl Indicates whether client-side redirects are fully qualified (in {HYPERLINK "http://server/path" } form, which is necessary for some mobile controls) or whether relative redirects are instead sent to the client.
true Specifies that client-side redirects need to be sent fully qualified. This is achieved by automatically converting all redirects that are not fully qualified to fully qualified form.
false Specifies that client-side redirects do not need to be automatically converted to the fully qualified form. false is the default.
versionHeader Specifies the value of a version header that ASP.NET sends with every response. This attribute is used by Microsoft Visual Studio .NET to determine which version of ASP.NET is in use. It is not necessary for production sites and can be disabled either by removing the attribute from Web.config or Machine.config, or setting the attribute to an empty string (versionHeader="").


The following example specifies HTTP runtime parameters for an ASP.NET application.


<\httpRuntime maxRequestLength="4000"


Contained Within: <system.web>

Web Platform: IIS 5.0, IIS 5.1, IIS 6.0

Note: Please remove "\" forward slash from the tags.

This article is copied from the following url:

Friday, April 18, 2008

Learn How to Write Good Documentation for your Software

The ideal software would be free of errors and so easy to use that everybody would be familiar with it the minute they start the application. However, this is not the case in real life.

Besides the quality of the software product, there’s something else that makes or breaks the deal: technical support. The better the support software publishers and shareware authors provide, the more users are likely to buy the product.

Technical support for software products can be provided in several ways:

  • online product documentation
  • e-mail assistance
  • access to support forums maintained by software publishers
  • knowledge bases.

Good documentation may exclude in many cases the need for further forms of technical support. It is, however, not easy to write. One of the reasons why this happens is that it is difficult for shareware authors or other software developers to put themselves into the users’ shoes, since they are already thoroughly familiar with the application.

Read Me file

The first thing every software product should have is a text format "Read Me" file that includes the following:

  • Product Name and Version
  • Company and Author Name
  • Release date
  • Description (like "photo organizer")
  • A changelog (this should be a list of fixes and new features)
  • System requirements (CPU, RAM, disk space, operating systems supported)
  • Price, payment options and instructions
  • Copyright and distribution information (rules for people who want to distribute your product)
  • Contact details (email, phone, fax website and postal address)

The "Read Me" file is important because everybody who might be interested in your product is expecting it, including reviewers, users, or people who want to put your product on a CD for distribution with a magazine or on their website. The idea here is to minimize frustration associated with the information being too difficult to find, therefore you should put all in one place.

The Manual

The other thing shareware authors and software publishers need to provide with their product is the manual. The first thing you should think about when starting to write it is how your users are going to use it. Few are those that will bother reading it all before attempting to use your product. They are more likely to turn to it later, when they try to do something and cannot figure out how to do it, or when they find something they do not understand.

To help them, it is best to organize your documentation by tasks. "How to…" sections are more useful than merely documenting every command in order. Explanations are easier to understand if they are backed by pictures and diagrams, wherever possible. There should also be a chapter labeled "Troubleshooting", which provides answers to the most common problems. At first you will have to guess where those problems may occur, but a couple of upgrades to your product later, the feedback from the people who tried the product will tell you what the most common problems are.

The manual should be broken down into chapters, the first one telling what the other chapters contain, so that people could readily find what they need.

The interface

Another point worth mentionning is the interface. User friendly is not enough, the interface needs to be easy to use even if the user does not have an overall systems understanding, so screens need to be self-describing.

Online help or online documentation

There is also online help, or online documentation. The documentation put on the website for users to read has to show up in search results. It has to be organized in such a way that users, who are sure to be asking questions like "How can I…" or "Why can't I…" can find the answers quickly. Lots of examples showing how to do various tasks with the software product are also needed. A good idea is to include links to a glossary of terms that might be more difficult to understand.

* * * * * * * * * * * * * * * * * * * * *

Always bear in mind that anyone who has had a bad experience with a product tends to remember it for a long time and software is no different. That is why you should strive to make using your product as smooth an experience as possible, something proper support and documentation can help you achieve.

See also Writing Good Software Documentation.

Writing Good Software Documentation

Writing software documentation may seem extremely easy for some of us, whereas others may consider it one of the most difficult tasks they could ever be asked to do.

The generic term for this kind of writing is "technical writing". A person who does this job is generally referred to as a "technical writer", with quite extensive knowledge of software and technology and with a deeper understanding of the logic behind the software, or a "technical writer", a person who, although somewhat overwhelmed by all the denominations and the algorithms of the software, is accurate in producing a proper technical text.

Nevertheless, regardless of the orientation of the writers, be them more technical than writers, there are some things that need to be considered before, during and after the writing process.

Before Writing

· Know the Software

  • Training
    Make sure you receive proper training for the software that you are about to document and that you have the software explained to you, step by step.
  • Experiment
    Have the software installed on your machine; make sure you also have access to as musch as possible of the necessary software related information, and that you have access to all the functionalities of the software. Explore all its functions, and don't be afraid to ask the engineers whenever you are not certain about the influence of, let's say, an unchecked checkbox or radio button on the process thatyou are documenting. Don't assume anything, you could be wrong.
  • Gather information
    This may mean older documents, definition documents for certain functionalities or specifications, general PowerPoint presentations, marketing documents, etc. They may help you along the way.

· Identify the Target Audience

This is of utmost importance. You have to know beforehand what kind of public the document you are about to produce addresses to, so that you know how to adjust and adapt the style and the informational content of the document. Again, ask the engineers, the product managers, about the audience. You don't want to be too technical for a non-technical audience, or vice versa.

· Keep It Simple

  • Avoid creating a lot of styles. Too many styles can make a document hard to follow.
  • Do not include header and footer in the first two pages of the document (the ones containing the name of the company that produces the application, the name of the document, date of creation, copyright issues, support department contact information, and document version history). Start using header and footer from the Table of Contents section.
  • Refrain from inserting symbols (such as exploding bombs or the like) for error messages or notes.
  • Use only black for text. You can highlight terms or names of buttons, menus, windows, tables, etc. by using bold letters or italics.

· Be Accurate

With Text

  • Respect all the documentation requests, coming either from the client or from your direct supervisor, pertaining to the contents and layout of the document.
  • Always check the spelling and grammar
  • Avoid ambiguous or empty phrases. Do not describe a checkbox by simply saying "Select here to do this." Explain the effect of checking or not that respective checkbox on the process that you are documenting and on the behavior of the software as a whole. Avoid describing fields by using a simple, for example, "Enter the file name", or "Enter user ID / password". You must provide more information, such as the location where files can be found or saved, the length and composition of user IDs and passwords, in what way the details provided by you in these fields will influence the evolution of the process you are documenting and the behavior of the entire software, etc.
  • Describe with accuracy text fields, checkboxes, radio buttons, spin boxes, drop-down lists, etc. Do not assume that the readers will know what they are or what they should contain.
  • Make sure that the names of user manuals or products that you refer to in your document are correct.
  • Use a simple NOTE whenever some particular aspect needs to be brought to the reader's attention.
  • Do not insult your reader's intelligence by pointing out the really obvious. For example, it suffices to state only once how to start the application. Any further reference to this inside the manual is not necessary.
  • Don't burden your readers with unnecessary, irrelevant information. What you need to do is fulfill your readers' need for information on a particular topic, not boast about your vast knowledge.
  • It is also preferable to express an idea in a simple way than risk an intricate, complex formulation.
  • Always be careful with gender-neutral writing. Prefer using the imperative mood (Do this..), the second person pronoun (you) over the third person plural pronoun "they" as singular pronoun (mainly because many of your readers may not grasp its real meaning) or over the third person singular pronoun "he" (you may sound gender-biased) or "the user". Also, avoid such phrases as "he/she" or "he or she".
  • When you have tables in your document, make sure you select from Table Properties the "Allow row to break across pages" option and, for the top row of your table, the "Repeat as header row at the top of each page" option. This way you will avoid those huge blank spaces created when a table is too big to fit in a smaller part of the page and it is automatically moved on the next page of the document.

With Pictures / Screen Shots / Diagrams

  • Prefer using picture capture software over the simple, less accurate, (Alt+) Print Screen function of Windows OS.
  • Use the Windows Standard color scheme for images that need to be inserted in your document, so that a later update will be easier (no need to change all the pictures) and there will be no discrepancies between the images inserted in that document by (possibly) different persons.
  • Have as many fields as possible filled in the screen shots that you take, so that your readers receive enough relevant information.
  • You do not necessarily have to add images of the buttons that contain only text (e.g. OK, Cancel, Apply, Advanced, etc.). Just the button's name written with bold letters should suffice. Nevertheless, you should illustrate the image-buttons.
  • Do not insert the images directly from the picture capture software. Save them in a separate folder for further use.
  • Use diagrams when you want to illustrate the work-flow of the application or of one part of the application that you are documenting. Also, you can use diagrams to illustrate the structure or hierarchy of the different functionalities of the software.
  • Insert pictures after each step described in your document, and for each action that needs to be taken to obtain a specific result. It will be easier for your readers to follow the step-by-step approach.
  • Place a caption under each of the inserted pictures, so that the readers know what they are looking at.

· Proofreading
Go over the document once or twice, to make sure that the grammar you used is accurate, that you have spelled the words right, that you haven't skipped any important information and that you have formatted all your text properly.

· Insert the Table of Contents
Once you're sure that your text is OK, insert the table of contents. It is preferable that it has no more than 3 - 4 levels, but this depends on what you deem important and how obvious you want some information to be to your readers.

· Insert the Indexes
It is now time to index the most important terms and phrases in your document. Remember to update the table of contents afterwards.

· Send the Document to be Reviewed
After checking that everything is in order, table of contents, indexes and text altogether, send the document to one of the Subject Matter Experts (SME) for review. Ask that they use the Track Changes function, so that you can see exactly what they have modified and where you should concentrate your attention.

After you receive it back, you either have to go over some of the above-mentioned steps in order to correct possible errors or fill in some information gaps, or the document will be approved and you can forward it to the proper department so that it can be distributed to customers, and you can start working on the next document.

* * * * * * * * * * * * * * * * * * * * *

All in all, it is important to always keep in mind that communication is a key factor in the work of a technical writer. Communication with the technical writing team (where it exists), with the engineers, with the SMEs, with the deployment staff, the marketing staff, sometimes even with the programmers. This is the only way that a technical writer within a company can progress and evolve into a real professional.

Difference Between Apache Common Logging and Log4J

Dear Folks, Log4j is a logging framework, i.e. it provides the code to log messages while Commons-logging is an abstraction layer for log...