Followers

Thursday, November 28, 2013

6 Tips For Improving Brainstorming Sessions

A key aspect of project management is conducting brainstorming sessions, which are different than standard meetings. These conferences focus on developing strategies and pitching ideas that will help the staff complete every aspect of an assignment by the given deadline. Brainstorming potential plans isn’t rocket science, but it can be difficult to get the entire team on the same page. If you want to run better sessions in the future, follow these six tips.
Get everyone involved
In an interview with Venuri Siriwardane from Inc. Magazine, Keith Sawyer, a professor of psychology and education at Washington University in St. Louis, explained that every meeting participant has to have stake in the outcome in order for the session to be successful.
“There needs to be that feeling of, ‘we’re in this together, we’re doing something that’s really important, and we really need to pull together and get this done.’ Without that sense of ambition, diversity can actually be a challenge and make the team less effective,” Sawyer said.
That’s why you should start the discussion by explaining why the project is so important to the team, not just the company as a whole. Note how production will affect future opportunities and benefit all of your employees.
This strategy ensures that everyone understands that they’re working toward the same objective and it behooves them to put in their best effort.
Emphasize collaboration and respect
The Project Management Institute’s Marian Haus, criticism can hamstring your brainstorming session. When workers negatively respond to their colleagues’ suggestions, everyone may decide to stay silent instead of offering their own ideas.
To combat this issue, you need to explain that everyone should respect whomever is speaking and give their thoughts some consideration. If anyone starts to shoot down their associates’ opinions, dismiss that person from the meeting.
Don’t think about next steps
According to an article Josh Linkner wrote for Forbes, no one should start thinking about next steps every time an idea is put on the table. Brainstorming sessions are supposed to be about coming up with every possible solution to a problem, no matter how weird or infeasible it seems.
The moment you start thinking about putting an idea into action is when employees will stop thinking creatively. The staff will end up trying to develop realistic solutions instead of saying whatever comes to mind. This can limit the amount of ideas you have to consider and execute in the future.
Start small
Bloomberg Businessweek’s Robert Sutton explains that you should give workers notice about what topic will be discussed during the meeting. This is to ensure that all of your contributors have sufficient time to think of ideas.
You can’t just blind side people with a question and expect them to have great answers. While some employees might have thought about the issue before, it’s unlikely that the entire team has taken time to address it. Send out an email at least two hours before the brainstorming session and detail what type of feedback you’d like to hear over the course of the proceedings.
Don’t give up
Some project managers end their conferences as soon as everyone becomes silent. This may be because supervisors think that they’ve reached a natural conclusion and none of their employees have anything else to say.
However, your workers might be thinking of a new suggestion or contemplating what their colleague just said. You shouldn’t adjourn a meeting just because there’s a momentary lull in conversation. Prompt further discussion by asking open-ended questions that force your contributors to debate possible solutions. Once the ideas start flowing, you’ll be glad that you didn’t dismiss your team just because everyone was quiet for a few seconds.
Don’t limit brainstorming to sessions
Sawyer also told Inc. Magazine that a brainstorming session should be a last resort and that idea generation should be a part of your corporate culture.
“A brainstorming session is almost like a band-aid – a quick fix. It’s not necessarily going to happen on Friday at 2 p.m., when we’ve got the brainstorming meeting scheduled,” Sawyer said.
Indeed, you should encourage employees to constantly offer suggestions and plans. Institute an open-door policy and allow workers to come in whenever an innovative thought comes to mind. This ensures that brainstorming is a fixture in your office.

Thursday, April 15, 2010

How to redirect pages from one domain to another domain along with query string through IIS

What you are trying to accomplish here is to have one resource (either a page or an entire site) redirect a visitor to a completely different page or site, and while doing so tell the visitor's browser that the redirect is either permanent (301) or temporary (302).


Therefore you need to do three things:

1.Have 2 resources - one source page or website, and one destination page or website.

2.When an attempt to access the source resource is made, IIS transfers the visitor to the destination instead.

3.During the transfer, IIS reports to the visitor that a redirect is happening and it's either temporary or permanent.

The good news is that IIS has always supported this, and you can use it's control panel to make the redirect.

Administrator Mode - Redirecting a Domain

If you can log into the Windows 2000 (or higher) server and access the desktop, then choose:

Start > Programs > Administrative Tools > Internet Services Manager

Now choose the server running the site you want to forward. Remember you need 2 sites - one to forward FROM and one to forward TO. These can be on the same, or separate servers.

Right click on the site you want to redirect FROM and choose Properties > Home Directory

You will see the following:


The default is the first choice, "A directory located on this computer". Change it to "A redirection to a URL" and type in the new URL.

If you want it to be a 301, then be sure to check ON the choice for "A permanent redirection for this resource". If you want it to be a 302, leave the choice checked OFF.

Administrator Mode - Redirecting an Individual Page

If you can log into the Windows 2000 (or higher) server and access the desktop, then choose:

Start > Programs > Administrative Tools > Internet Services Manager

Now choose the server running the site you want to forward. Choose the site with the webpage you want to forward in it, then right click on the it and choose "Properties".

You will see the following:




The default is the first choice, "The designated file". Change it to "A redirection to a URL" and type in the new URL.

If you want it to be a 301, then be sure to check ON the choice for "A permanent redirection for this resource". If you want it to be a 302, leave the choice checked OFF.

If you don't control the IIS server, ask the admin to do the above. Done.

Passing on Variables or a Query String During IIS Redirects

Let's say that you want to pass on some variables, for example, you wanted to redirect an ASP site that accepted arguments for some pages and pass those same arguments on to the same pages at the new site.

In this case, in the "Redirect to:" box, enter the domain you wish to move to (no trailing slash), plus $S$Q .

For example:
http://www.newdomain.com$s$q/

Next, check the options that state the client will be sent to "The exact URL entered above", as well as "A permanent redirection for this resource" (if you want it to be a 301). Done.

What does this $S$Q do? These are tags that IIS will automatically replace - $S will be replaced with the subdirectory location (such as /shopping/cart.aspx) and $Q will be replaced with the querystring (such as ?id=Blue).

Server Variable Function Example

$P Passes parameters that were passed to the URL to the new URL. If the request contains parameters such as http://www.oldsite.com/cart.asp?id=Blue , then $P would represent all the values after the question mark in the URL, example $P would equal id=Blue (no question mark).

$Q Passes the parameters including the question mark. This is the same as $P but includes the question mark or query string. So $P would equal ?id=Blue

$S Passes the matching suffix of the URL to the new URL. If the request is for http://www.oldsite.com/shopping/cart.asp, then $S represents /cart.asp. If the request was for http://www.oldsite.com/shopping then the value of $S would be /shopping

$V Removes the server name from the original request. If the request is for http://www.oldsite.com/shopping/cart.asp then $V would contain everything after the server name, eg: /shopping/cart.asp.

* Wildcard symbol used for replacement. Let's say you want to redirect all requests for html pages to a single asp page - you could do so in the following way: *;*.htm;page.asp

This works for both Site Redirects and Individual Page Redirects.

Common Scenarios

I Just Want To Switch Domains!

This is actually pretty straightforward. You can tweak things to get exactly what you need with the variables above, but the following will work for the most common setups:

http://www.newdomain.com$v$q/

Do NOT add a trailing slash "/" at the end of the domain name!

Make sure you check:

•The exact URL entered above

•A permanent redirection for this resource

Done! This will send everything after the old domain name to the new domain name, including variables. You need to do is make sure that the new website is set up exactly the same as the old one and that all you are doing is changing domain names.

Non-WWW to WWW Redirect for IIS

When you set up a site in IIS, usually you set up the site with a domain name and add the domain name with both versions, www and non-www, to the host headers for the account. This creates a potential duplication issue, though.

The better way to do this is to actually create 2 accounts - one with the www version and one without. Then you put the website in your preferred version and a single page in the other. Normally, you would then treat this as if you were switching domains (above), with the 2 domains being the www and the non-www versions.

Another method, for those that don't have direct access to the control panel (common with many ISP's/ hosts), is to put your entire website in the www account and then a single page in the non-www account. Then you would put the following code in the default page in the account with the single page (i.e. the one you are redirecting):


< %@ Language=VBScript %>

< %

Response.Status="301 Moved Permanently"

Response.AddHeader "Location", http://www.example.com

%>

What about Parameters?

If you do a non-www to www redirect for MS Internet Information Services (IIS) and have parameters that need to be passed on, then do the following (Thanks to Chris Hirst for testing this):

1.Do the above non-WWW to WWW redirect

2.Make double sure that you do NOT have a trailing slash at the end of the domain (http://www.newdomain.com$V$Q, NOT http://www.newdomain.com/$V$Q)

3.As with all these redirects, make sure that you check "The exact URL entered above"

Courtsey:http://www.mcanerin.com/En/articles/301-redirect-IIS.asp

Monday, February 23, 2009

Best practices for creating websites in IIS 6.0

Every time I create an IIS website, I do some steps, which I consider as best practice for creating any IIS website for better performance, maintainability, and scalability. Here' re the things I do:
Create a separate application pool for each web application
I always create separate app pool for each web app because I can select different schedule for app pool recycle. Some heavy traffic websites have long recycle schedule where low traffic websites have short recycle schedule to save memory. Moreover, I can choose different number of processes served by the app pool. Applications that are made for web garden mode can benefit from multiple process where applications that use in-process session, in memory cache needs to have single process serving the app pool. Hosting all my application under the DefaultAppPool does not give me the flexibility to control these per site.
The more app pool you create, the more ASP.NET threads you make available to your application. Each w3wp.exe has it's own thread pool. So, if some application is congesting particular w3wp.exe process, other applications can run happily on their separate w3wp.exe instance, running under separate app pool. Each app pool hosts its own w3wp.exe instance.
So, my rule of thumb: Always create new app pool for new web applications and name the app pool based on the site's domain name or some internal name that makes sense. For example, if you are creating a new website alzabir.com, name the app pool alzabir.com to easily identify it.
Another best practice: Disable the DefaultAppPool so that you don't mistakenly keep adding sites to DefaultAppPool.

First you create a new application pool. Then you create a new Website or Virtual Directory, go to Properties -> Home Directory tab -> Select the new app pool.

Customize Website properties for performance, scalability and maintainability
First you map the right host headers to your website. In order to do this, go to WebSite tab and click on "Advanced" button. Add mapping for both domain.com and www.domain.com. Most of the time, people forget to map the domain.com. Thus many visitors skip typing the www prefix and get no page served.

Next turn on some log entries:

These are very handy for analysis. If you want to measure your bandwidth consumption for specific sites, you need the Bytes Sent. If you want to measure the execution time of different pages and find out the slow running pages, you need Time Taken. If you want to measure unique and returning visitors, you need the Cookie. If you need to know who is sending you most traffic - search engines or some websites, you need the Referer. Once these entries are turned on, you can use variety of Log Analysis tools to do the analysis. For example, open source AWStats.
But if you are using Google Analytics or something else, you should have these turned off, especially the Cookie and Referer because they take quite some space on the log. If you are using ASP.NET Forms Authentication, the gigantic cookie coming with every request will produce gigabytes of logs per week if you have a medium traffic website.

This is kinda no brainer. I add Default.aspx as the default content page so that, when visitors hit the site without any .aspx page name, e.g. alzabir.com, they get the default.aspx served.

Things I do here:
Turn on Content Expiration. This makes static files remain in browser cache for 30 days and browser serves the files from its own cache instead of hitting the server. As a result, when your users revisit, they don't download all the static files like images, javascripts, css files again and again. This one setting significantly improves your site's performance.
Remove the X-Powered-By: ASP.NET header. You really don't need it unless you want to attach Visual Studio Remote Debugger to your IIS. Otherwise, it's just sending 21 bytes on every response.
Add "From" header and set the server name. I do this on each webserver and specify different names on each box. It's handy to see from which servers requests are being served. When you are trying to troubleshoot load balancing issues, it comes handy to see if a particular server is sending requests.

I set the 404 handler to some ASPX so that I can show some custom error message. There's a 404.aspx which shows some nice friendly message and suggests some other pages that user can visit. However, another reason to use this custom mapping is to serve extensionless URL from IIS. Read this blog post for details.

Make sure to set ASP.NET 2.0 for your ASP.NET 2.0, 3.0 and 3.5 websites.
Finally, you must, I repeat you "MUST" turn on IIS 6.0 gzip compression. This turns on the Volkswagen V8 engine that is built into IIS to make your site screaming fast.

Friday, March 04, 2005

debuging in asp.net

Okay...can you do the following steps with dbgclr.exe(Why i'm saying this, it provides debugging services with a graphical interface to help application developers find and fix bugs in programs that target the runtime)?.

so please follow the following steps:
Start the CLR Debugger; run DbgCLR.exe, which is in the GuiDebug directory of your .NET Frameworks installation.
From the Debug menu, select Program to Debug.
In the Program to Debug dialog box, go to the Program box and click the ellipsis button (...). The Find Program to Debug dialog box appears.
Navigate to the directory containing the EXE you want to debug and select the EXE.
Click Open.
This takes you back to the Program to Debug dialog box. Notice that the Working directory has been set to the directory containing your EXE.

In the Arguments box, type any arguments that your program requires.
Click OK.
From the File menu, choose Open, then click File.
In the Open File dialog box, choose the source file you want to open.
Click OK.
To open additional source files, repeat steps 8-10
Please let me know, whether you resolved with this.

Thursday, March 03, 2005

Shifting focus on next control on pressing the Enter key

if you want to configure enter key to move to next control in .NET then use following technique.

Set KeyPreview property of the form to "True"

Trap Key_down event of form and check if enter key was pressed. if then pass the focus to next control. code looks like below.

private void Form1_KeyDown ( object sender, KeyEventArgs e )
{
if ( e.KeyCode == Keys.Return )
{
Control c = GetNextControl ( ActiveControl, true ) ;
c.Focus( ) ;
}
}

.The ActiveControl property returns the reference of the control that is currently selected. The GetNextControl( ) method returns the control next to the specified control in tab order. The focus is set on the next control using the Focus( ) method.

.net Interview questions

http://www.andymcm.com/dotnetfaq.htm
.NET/C# Questions :
-------------------
http://forums.aspfree.com/showthread.php?t=23415
http://www.techinterviews.com/index.php?p=159
http://www.franklins.net/dotnetrocks/
http://blogs.crsw.com/mark/articles/252.aspx
http://www.dotnetspider.com/technology/KBPages/1068.aspx
http://forums.aspfree.com/archive/t-33756
Book
----
Programming Interviews Exposed: Secrets to Landing Your Next Job

Microsoft Interview questions
-----------------------------
http://www.sellsbrothers.com/fun/msiview/default.aspx?content=question.htm
Remoting Questions------------------
http://blogs.crsw.com/mark/articles/253.aspx

.PST files...

.PST files...
Today morning all of a sudden MS-Outlook of my client's PC displayed some error message and refused to open. after doing some wrestling with his PC for about nearly 1 & half hours (Soft-boot, hard-boot, increase memory, increase swap area and what not)..... then I found that the size of .PST file is more then 2.GB. Long back I had read somewhere that Outlook can't open it if size exceeds 2.GB.

"Any Knowledge does not go waste" stands true.......

But 2.GB ... sounds a crazy size.....Anyways for General Knowledge... Outlook stores all data in a .PST file located in folder C:\Documents and Settings\Administrator\Local Settings\Application Data\Microsoft\Outlook\outlook.pst. To the best of my knowledge .PST stand for Personal Storage Table. if you are using Windows XP or 2000, ..PST files are considered to be as system files and are hidden by default. you will need to go to Folder options->View Tab of Windows explorer under Tool Menu to enable "Show hidden files and folders" option.

pst2gb.exe is the utility from Microsoft to recover most of your data from .PST file during such events

So the thumb rule to prevent accidents...

Try to keep any .pst files well under that 2GB limit
Use more than one .pst file.
Use the archive feature
Use compact the .pst file option ( right-click your folder's top level , click Advanced, and click Compact Now)
Keep deleting unwanted mails. OR Backup .PST file. (Burn it into a CD-R)

Outlook Express edition is better ... ;) at least it creates .dbx files for each folder. I use and prefer Outlook Express. what others feel ? ...... if some has better ideas, tips, tricks on MS-Outlook then do share it here, I would love to read them....

ASP.net tips regarding security

Tips.

Generally when using Forms authentication in ASP.NET you are able to secure your .aspx pages but you have not secured Images or documents like Ms-Word, Excel etc. A quick tip to secure these items is that you can configure that these extensions should be served by asp.net and not IIS.

In your IIS , Right click on the Virtual Directory and select Properties.
On Configuration Ta, a dialog box appears with the list of file extensions.
Click Add and Enter the extension type in the textbox such as .doc .ppt etc.
Point your path to aspnet_isapi.dll found under %windir%\Microsoft.NET\Framework\v1.1.4322\
In "Limit to" radio button and put the same properties as like for aspx files i.e. GET, POST etc.
Its Done!

Thursday, September 09, 2004

Installing MSDE for Microsoft Visual Studio .NET 2003

Visual Studio .NET 2003 does not include Microsoft SQL Server Desktop Engine (MSDE). To download MSDE, go to http://go.microsoft.com/fwlink/?linkid=13962.

Information from the Microsoft Site

MSDE 2000 for Developers Using Visual Studio .NET
This download will extract files necessary to install the latest version of MSDE 2000 for Visual Studio .NET customers. This version of MSDE includes up-to-date security features, including protection from the W32.Slammer worm.

Quick Info
File Name:
sql2kdesksp3.exe
Download Size:
70805 KB
Date Published:
8/21/2003
Version:
8.00.0760.03

Overview
This download applies to developers using Microsoft Visual Studio .NET 2003, Microsoft Visual Studio .NET 2002, Microsoft Visual Basic .NET, Microsoft Visual C++ .NET, Microsoft Visual C# .NET, and Microsoft Visual J# .NET. The download will install the latest version of MSDE 2000 complete with SP3a.

This version of MSDE 2000 includes up-to-date security including protection from the W32.Slammer worm as detailed in PSS Security Response Team Alert - New Worm: W32.Slammer. It includes all of the files that are required to install a new instance of MSDE or to upgrade all existing instances of MSDE.
System Requirements
· Supported Operating Systems: Windows 2000, Windows Server 2003, Windows XP

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

Instructions
1. Click the Download link to start the download.

2. Do one of the following:

o To start extracting files required to install MSDE immediately, click Open or Run this program from its current location.

o To copy the download to your computer for installation at a later time, click Save or Save this program to disk.

3. If you choose Save this program to disk, locate the file where you saved it, and double-click the .exe file to extract all files required to install MSDE on your computer.

4. After extracting the MSDE installation files, open an MS-DOS command prompt and change to the directory where you extracted the files. MSDE extracts to C:\sql2ksp3\MSDE by default. Run the following command to set up MSDE for Visual Studio .NET. Replace YourSAPassword with the systems administrator's password that you would like to use:


Setup.exe /qb+ INSTANCENAME=VSDOTNET DISABLENETWORKPROTOCOLS=1 SAPWD=YourSAPassword

I used the following command:

Setup.exe /qb+ INSTANCENAME=VSDOTNET DISABLENETWORKPROTOCOLS=0 SAPWD=SHAIL SecurityMode=SQL

Notes from me: After that you can use the database from query analyser not from enterprise manager because it is msde. I used msde2000A.exe file to install msde on my system. You can get this file from the microsoft site.

For information on MSDE setup options, consult the article Customizing Desktop Engine Setup.exe on MSDN®. http://go.microsoft.com/fwlink/?LinkId=13960

Additional Information

Rebooting

After completing the installation described above, reboot the computer to start the SQL Server Service Manager. It should startup automatically. After rebooting, you should see the MSSQL Server icon in the tray on the task bar.

Errors in Connecting (thanks to Chris Deweese for this information).

If the SQL Server Service Manager does not appear in the task bar or if you experience errors trying to connect to SQL Server, your computer may need the TCP/IP protocol enabled for the server. Do the following:

1. Open My Computer and go to C:\Program Files\Microsoft SQL Server\80\Tools\Binn and look for a file named SVRNETCN.Exe. This is the default directory after installing MSDE.

2. Double-click the file to run it – it is named "SQL Server Network Utility"

3. Select the option to enable TCP/IP

4. Close the program and reboot your computer


On restart, you should see the MSSQL Server icon in the task bar.


Converting an Access Database File to an SQL Server Database


You will need two databases for use in CMIS 460, the MMABooks database and the AccountsPayable database. Both of these are available from the server site for the course as Microsoft Access databases. You will need to convert these Access databases to SQL Server databases.

First, load the databases onto your computer – I suggest you use the directory where you save all of your CMIS 460 work as you may need to reuse the databases at a later time. These notes will demonstrate how to convert the AccountsPayble database.

Open the AccountsPayble.Mdb database file (double-click the database's icon).


From within Microsoft Access, select the Tools -> Database Utilities menu option and the Upsizing Wizard option (see the figure below).

Select the option displayed for creating a new database file. Click the Next button.

The next window specifies the SQL Server installation you want to use – this will default to the SQL Server name on your computer or the entry (local). You can find the SQL Server installation name by opening the Sql Server Service Manager (the icon in the lower right corner of your computer screen).

Pay particular attention to the name that SQL Server generates for the database. SQL Server adds the letters "SQL" to the end of the database name. You should delete these letters so your database is named the same as my database – this makes it easier to grade.

Click the Next button.

Select all tables to be exported to SQL Server as shown in this figure, then click Next.

The next window is used to specify the table attributes to export. You need to export the data also. Do NOT check the box for creating only the table structure. Click the Next button.

Next the Upsizing Wizard asks if you want to modify the existing application or create a new one. Just select the No Application Changes radio button. Click the Next button.

Finally, if all succeeds, you'll arrive at the finish. Click the Finish button as shown here.

As the database converts, a window with a progress bar will display the status of the conversion.

After the conversion finishes, MS Access will display an Upsizing Wizard report – you may wish to examine the report to ensure that the conversion went without problem.

If there were no problems, repeat the process with the MMABooks.Mdb database file.

When you are finished, you can close MS Access – you will only need it if you decide to rebuild your database. Should you need to rebuild the database, you must first delete the existing files. This requires deleting both the *.mdf and *.ldf files located at: C:\Program Files\Microsoft SQL Server\MSSQL\Data. You can now use the directions given above to upsize the MS Access database file versions again to create new SQL Server databases..

END OF NOTES

This information taken from : http://www.siue.edu/~dbock/cmis460/msde.htm Link

Wednesday, September 08, 2004

Deployment VB.NET project (with uninstall file)

In Visual Studio.NET:

Ø File > Add Project > New Project > Setup & Deployment Project > Setup Project
(Enter name and location)

Ø Add (right-click in Application Folder > Add > Project Output):

· Primary Output

Ø If an error occurs about files that should be excluded > In Solution Explorer select your Setup project > Exclude those files (right-click > exclude)

Ø Build > Build ’name project’

In Windows:

Ø Create an Uninstall.bat file containing:
C:\WINDOWS\system32\MsiExec.exe /I{productcode}

(Path depends of your Windows version, check where your system32 folder is located)

(You’ll find the productcode in Visual Studio.NET > Tab Properties in the setup project you’ve just created)

Ø Open the setup project in Visual Studio.NET if you closed it

Ø Add (right-click in Application Folder):

· Add > Project Output > File > Uninstall.bat

· Create New Shortcut > Application Folder > Primary Output (enter a name)

· Create New Shortcut > Application Folder > Uninstall.bat (enter a name)

· Add > File > add .ico files you want to use for the shortcuts

Ø Shortcuts properties > ‘icon’ property (use the icons you’ve just added)

Ø Move the shortcuts to User’s Desktop/User’s Programs Menu (you can also create subfolders)

Ø Build > Rebuild ’name project’

The setup is ready now. You can install via Setup.exe (default it’s located under the folder ‘Debug’, you can change it in Visual Studio.NET - right-click your setup project > properties > Output file name). The shortcuts will be added automatically in the coresponding folders (desktop/start menu).

You can uninstall the program via Uninstall.bat (or via shortcut naar Uninstall.bat)