<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sakha - Techie Gyaaan</title>
	<atom:link href="http://techie.gyaaan.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://techie.gyaaan.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Fri, 15 May 2009 15:19:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Setup a SVN server in minutes</title>
		<link>http://techie.gyaaan.com/setup-a-svn-server-in-minutes/</link>
		<comments>http://techie.gyaaan.com/setup-a-svn-server-in-minutes/#comments</comments>
		<pubDate>Fri, 15 May 2009 15:19:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Subversion]]></category>
		<category><![CDATA[repository]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[svnadmin]]></category>
		<category><![CDATA[svnserve]]></category>

		<guid isPermaLink="false">http://techie.gyaaan.com/?p=89</guid>
		<description><![CDATA[Here are the steps
1. Create a repository
# mkdir /svn_repos
# cd /svn_repos
# mkdir -p / //trunk //branch //tags
# svnadmin create /svn_repos/

# svn import -m &#8220;Repo Creation&#8221; / file:///svn_repos/

2. Securing the SVN repository
# vim /svn_repos/
/conf/svnserve.conf
Append the lines to the end of the file,
anon-access = none
auth-access = write
password-db = passwd
Setting up Authentication
# vim /svn_repos/
/conf/passwd
# add users in the [...]]]></description>
			<content:encoded><![CDATA[<p>Here are the steps</p>
<p>1. Create a repository</p>
<p># mkdir /svn_repos<br />
# cd /svn_repos<br />
# mkdir -p /<repo_folder> /<repo_folder>/trunk /<repo_folder>/branch /<repo_folder>/tags<br />
# svnadmin create /svn_repos/
<project_name>
# svn import -m &#8220;Repo Creation&#8221; /<repo_folder> file:///svn_repos/
<project_name>
<p>2. Securing the SVN repository</p>
<p># vim /svn_repos/
<project_name>/conf/svnserve.conf</p>
<p>Append the lines to the end of the file,</p>
<p>anon-access = none<br />
auth-access = write<br />
password-db = passwd</p>
<p>Setting up Authentication</p>
<p># vim /svn_repos/
<project_name>/conf/passwd<br />
# add users in the format : user = password<br />
username = password</p>
<p>*Note the password is in plaintext. Please make sure that you setup a strong  password</p>
<p>3. Host the SVN repository on the web</p>
<p># svnserve -d</p>
<p>4. Accessing the Repository from a remote location</p>
<p>svn://hostname/svn_repos/
<project_name>
<p>Pre-Requisites<br />
* Port 3690 must be open<br />
* You must provide the complete url to access the svn repository. For example, if the domain name is mysvnrepository.com and the project name is /mysuperproject the valid svn url will be<br />
svn://mysvnrepository.com/mysuperproject</p>
<p>Note: &#8220;/&#8221; in front of &#8220;mysuperproject&#8221; that is the physical path on the unix file system. if the svn repo is created at &#8220;/svn/mynewrepo&#8221; then the valid url will be</p>
<p>svn://mysvnrepository.com/svn/mynewrepo</p>
<p>-Admin</p>
]]></content:encoded>
			<wfw:commentRss>http://techie.gyaaan.com/setup-a-svn-server-in-minutes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to use the screen command</title>
		<link>http://techie.gyaaan.com/how-to-use-the-screen-command/</link>
		<comments>http://techie.gyaaan.com/how-to-use-the-screen-command/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 15:31:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Attach]]></category>
		<category><![CDATA[Detach]]></category>
		<category><![CDATA[Screen]]></category>

		<guid isPermaLink="false">http://techie.gyaaan.com/?p=83</guid>
		<description><![CDATA[

To start a new sub session (Virtual Session) type
((ctrl+a) c)

To switch between sessions&#8230;
((ctrl+a) )

To switch between your previous session and the current one..
((ctrl+a) a)

To kill a frozen session&#8230;
((ctrl+a) k)

To see a list of available commands&#8230;
((ctrl+a) ?)

To see a list of virtual terminals you have open..
((ctrl+a) &#8220;)

To Detach from a screen session and not lose any [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li>
To start a new sub session (Virtual Session) type<br />
<blockquote>((ctrl+a) c)</p></blockquote>
</li>
<li>To switch between sessions&#8230;<br />
<blockquote>((ctrl+a) <space bar>)</p></blockquote>
</li>
<li>To switch between your previous session and the current one..<br />
<blockquote>((ctrl+a) a)</p></blockquote>
</li>
<li>To kill a frozen session&#8230;<br />
<blockquote>((ctrl+a) k)</p></blockquote>
</li>
<li>To see a list of available commands&#8230;<br />
<blockquote>((ctrl+a) ?)</p></blockquote>
</li>
<li>To see a list of virtual terminals you have open..<br />
<blockquote>((ctrl+a) &#8220;)</p></blockquote>
</li>
<li>To Detach from a screen session and not lose any of your virtual terminals&#8230;<br />
<blockquote>((ctrl+a) d)</p></blockquote>
</blockquote>
</li>
<li>To view  current screen sessions once you are logged out of screen.. &#8220;screen -list&#8221;</li>
<li>To reattach to an Attached session (Session that was not detached properly) &#8220;screen -D -r <11546.pts-5.hostname>&#8221; (session name from the output of the screen -list command)</li>
<li>To reattach to a detached session.. &#8220;screen -r <11546.pts-5.hostname>&#8221; (session name from the output of the screen -list command)</li>
<li>To end that session you can either type &#8220;exit&#8221; or a<br />
<blockquote>(ctrl+d)</p></blockquote>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://techie.gyaaan.com/how-to-use-the-screen-command/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Transparent Iframes</title>
		<link>http://techie.gyaaan.com/transparent-iframes/</link>
		<comments>http://techie.gyaaan.com/transparent-iframes/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 23:31:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[IFrame]]></category>
		<category><![CDATA[Transparent]]></category>

		<guid isPermaLink="false">http://techie.gyaaan.com/?p=77</guid>
		<description><![CDATA[How to Setup an Iframe to be transparent
Step 1
Insert your iframe code between body tags.
&#60;iframe src=&#8221;yourpage.html&#8221; name=&#8221;myframe&#8221; width=&#8221;250&#8243; height=&#8221;250&#8243; frameborder=&#8221;0&#8243; allowtransparency=&#8221;true&#8221;&#62;&#60;/iframe&#62;
Step 2
Now copy the code below, and paste it between  tags of the page you are linking to.
In this example this page is yourpage.html
&#60;style type=&#8221;text/css&#8221;&#62;
Body { Background: transparent; }
&#60;/style&#62;
]]></description>
			<content:encoded><![CDATA[<h1>How to Setup an Iframe to be transparent</h1>
<h2>Step 1</h2>
<p>Insert your iframe code between body tags.</p>
<p>&lt;iframe src=&#8221;yourpage.html&#8221; name=&#8221;myframe&#8221; width=&#8221;250&#8243; height=&#8221;250&#8243; frameborder=&#8221;0&#8243; <strong>allowtransparency=&#8221;true&#8221;</strong>&gt;&lt;/iframe&gt;</p>
<h2>Step 2</h2>
<p>Now copy the code below, and paste it between <head> tags of the page you are linking to.</p>
<p>In this example this page is yourpage.html<br />
&lt;style type=&#8221;text/css&#8221;&gt;<br />
Body { Background: transparent; }<br />
&lt;/style&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://techie.gyaaan.com/transparent-iframes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install Windows XP on Asus EEE PC</title>
		<link>http://techie.gyaaan.com/install-windows-xp-on-asus-eee-pc/</link>
		<comments>http://techie.gyaaan.com/install-windows-xp-on-asus-eee-pc/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 11:07:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Operating systems]]></category>
		<category><![CDATA[Asus]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[USB Boot]]></category>
		<category><![CDATA[Windows XP]]></category>

		<guid isPermaLink="false">http://techie.gyaaan.com/?p=70</guid>
		<description><![CDATA[Installing Windows XP on the Asus EEE pc using a single USB flash drive.

Please note this tutorial works on all computers not just the Asus EEE PC.
To complete this tutorial you need a 32bit version of Windows XP or Windows Vista installed on your home PC.
What you&#8217;ll need:

USB_PREP8
PeToUSB
Bootsect.exe

Steps:

Extract the files in Bootsect.zip
The next step is [...]]]></description>
			<content:encoded><![CDATA[<h1>Installing Windows XP on the Asus EEE pc using a single USB flash drive.</h1>
<p><a href="http://techie.gyaaan.com/wp-content/uploads/2008/11/xpinstall.jpg"><img src="http://techie.gyaaan.com/wp-content/uploads/2008/11/xpinstall-150x150.jpg" alt="" title="XP Install" width="150" height="150" class="aligncenter size-thumbnail wp-image-71" /></a></p>
<p>Please note this tutorial works on all computers not just the Asus EEE PC.<br />
To complete this tutorial you need a 32bit version of Windows XP or Windows Vista installed on your home PC.</p>
<h2>What you&#8217;ll need:</h2>
<ul>
<li>USB_PREP8</li>
<li>PeToUSB</li>
<li>Bootsect.exe</li>
</ul>
<h2>Steps:</h2>
<ul>
<li>Extract the files in Bootsect.zip</li>
<li>The next step is to extract USB_prep8 and PeToUSB</li>
<li>Next copy the PeToUSB executable into the USB_prep8 folder.</li>
<li>Inside of the USB_prep8 folder double click the executable named usb_prep8.cmd.</li>
</ul>
<p><a href="http://techie.gyaaan.com/wp-content/uploads/2008/11/usbprep1.jpg"><img src="http://techie.gyaaan.com/wp-content/uploads/2008/11/usbprep1-300x194.jpg" alt="" title="usbprep1" width="300" height="194" class="aligncenter size-medium wp-image-72" /></a></p>
<p>Press any key to continue</p>
<p><a href="http://techie.gyaaan.com/wp-content/uploads/2008/11/petousb.jpg"><img src="http://techie.gyaaan.com/wp-content/uploads/2008/11/petousb-150x150.jpg" alt="" title="petousb" width="150" height="150" class="aligncenter size-thumbnail wp-image-73" /></a></p>
<p>These settings are preconfigured for you all you need to do now is click start.<br />
Once the format is complete DO NOT close the window just leave everything as it is and open a command prompt from your start menu (type cmd in the search bar or run box depending on your version of windows.).</p>
<p>Inside of the command windows go to the directory you have bootsect.exe saved.<br />
(use the cd directoryname command to switch folders)</p>
<p>Now type &#8220;bootsect.exe /nt52 R:&#8221; NOTE R: is the drive letter for my USB stick if yours is different you need to change it accordingly. What this part does is write the correct boot sector to your USB stick, this allows your PC to boot from the USB stick without it nothing works.<br />
Please note: When running the bootsect.exe command you cannot have any windows open displaying the content of your USB stick, if you have a window open bootsect.exe will be unable to lock the drive and write the bootsector correctly.</p>
<p>If all went well you should see &#8220;Bootcode was successfully updated on all targeted volumes.&#8221;</p>
<p>Now you can close this command prompt (don&#8217;t close the usbprep8 one by mistake) and the petousb window.</p>
<p><a href="http://techie.gyaaan.com/wp-content/uploads/2008/11/usbprep2.jpg"><img src="http://techie.gyaaan.com/wp-content/uploads/2008/11/usbprep2-150x150.jpg" alt="" title="usbprep2" width="150" height="150" class="aligncenter size-thumbnail wp-image-74" /></a></p>
<p>If it doesn&#8217;t try pressing enter.</p>
<p>Now you need to enter the correct information for numbers 1-3.<br />
Press 1 and then enter. A folder browse window will open for you to browse to the location of you XP setup files (aka your cdrom drive with xp cd in)<br />
Press 2 and enter a letter not currently assigned to a drive on your PC<br />
Press 3 and enter the drive letter of your USB stick<br />
Press 4 to start the process.</p>
<p>The script will ask you if its ok to format drive T:. This is just a temp drive the program creates to cache the windows installation files. Press Y then enter.</p>
<p>Once it&#8217;s done formating press enter to continue again, you can now see the program copying files to the temp drive it created. Once this is done press enter to continue again.</p>
<p>Next you will see a box pop up asking you to copy the files to USB drive yes/no you want to click yes.</p>
<p>Once the script has completed copy files a popup window asking if you would like to USB drive to be preferred boot drive U: select YES on this window.</p>
<p>Now select yes to unmount the virtual drive.</p>
<p>Ok we are done the hard part, close the usbprep8 window.</p>
<p>Now make sure your EEE pc is configured with USB as the primary boot device.<br />
Insert your USB drive and boot up the EEE.</p>
<p>On the startup menu you have two options, select option number 2 for text mode setup.</p>
<p>From this point on it is just like any other windows XP installation delete/recreate the primary partition on your EEE pc and format it using NTFS. Make sure you delete ALL partitions and recreate a single partition or you will get the hal.dll error message.</p>
<p>Once the text mode portion of setup is complete it will boot into the GUI mode (you can press enter after the reboot if your too excited to wait the 30 seconds)</p>
<p>Once the GUI portion of setup is complete you will again have to boot into GUI mode this will complete the XP installation and you will end up at you XP desktop. It is very important that you DO NOT REMOVE THE USB STICK before this point. Once you can see your start menu it is safe to remove the usb stick and reboot your pc to make sure everything worked.</p>
<p>This method has advantages over all current no cdrom methods of installing XP to the EEE. You do not have to copy setup files in DOS to the SSD and install from there. It gives you access to the recovery console by booting into text mode setup, and it gives you the ability to run repair installations of XP if you have problems later on.</p>
<p>I hope this worked out for you and please post feedback to the comments section.<br />
Please note due to the amount of comments this article has received you must now click on &#8220;Post a Comment&#8221; below the existing comments to view the most recent feedback in a popup window.</p>
<p><a href="http://www.eeeguides.com/2007/11/installing-windows-xp-from-usb-thumb.html">Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://techie.gyaaan.com/install-windows-xp-on-asus-eee-pc/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Creating a new sub-domain in IIS6</title>
		<link>http://techie.gyaaan.com/creating-a-new-sub-domain-in-iis6/</link>
		<comments>http://techie.gyaaan.com/creating-a-new-sub-domain-in-iis6/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 23:42:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Hosting]]></category>
		<category><![CDATA[Alias]]></category>
		<category><![CDATA[CNAME]]></category>
		<category><![CDATA[Host]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[IIS6]]></category>
		<category><![CDATA[Sub-Domain]]></category>
		<category><![CDATA[Web Server]]></category>

		<guid isPermaLink="false">http://techie.gyaaan.com/?p=61</guid>
		<description><![CDATA[Subdomain Configuration
A subdomain configuration is very similar to a domain name configuration. The only difference is that the subdomain entry is tied to the corresponding domain name lookup. A request for the subdomain (e.g. http://subdomain.mydomain.com) will be routed to a DNS server containing the DNS information for the parent domain (mydomain.com). Once the DNS record [...]]]></description>
			<content:encoded><![CDATA[<h3>Subdomain Configuration</h3>
<p>A subdomain configuration is very similar to a domain name configuration. The only difference is that the subdomain entry is tied to the corresponding domain name lookup. A request for the subdomain (e.g. http://subdomain.mydomain.com) will be routed to a DNS server containing the DNS information for the parent domain (mydomain.com). Once the DNS record for the subdomain is resolved to a particular IP address, the request is sent to the web server listening on that IP address. The web server can now delegate the request to the particular website based on the subdomain name in the host header of the request object. Various combinations of subdomain configurations are possible by using DNS server entries and web server application setup for load distribution, application isolation or security purposes.</p>
<h3>Subdomain Setup on DNS server</h3>
<p>The <strong>forward lookup</strong> zone of the parent domain in the DNS server should contain a pointer to the sub domain using either an alias (CNAME), a hostname (A) or a mail enchanger (MX) entry. The alias (CNAME) record is used for a subdomain if the subdomain points to a website running on the same web server at the same IP address as the parent domain website. A new hostname (A) record is used if the subdomain points to a different web server, or to the same web server listening on a different IP address (as in the case of load distribution).</p>
<p><strong>Alias (CNAME) Setup</strong>: An alias points the subdomain to the same web server, which hosts the website for the parent domain. The canonical names (CNAMES) are added for each of the subdomains as shown below. Once the subdomain is resolved to the IP address of the web server, the web server can route the request to a different website (see section on web server setup below). Note that an alias for www is setup as a subdomain by default by most hosting companies, so that requests to www.domain.com is sent to the same website that handles the requests for domain.com.</p>
<p><code>www IN CNAME domain.com.<br />
subdomain1 IN CNAME domain.com.<br />
subdomain2 IN CNAME domain.com.<br />
</code></p>
<p><strong>Address (A) Record Setup</strong>: A hostname DNS entry is required if the subdomain is pointing to a different IP address than that set for the domain name. Add the address (A) records to the forward lookup zone of the parent domain and associate the address records with the IP addresses of the web servers, which will handle the requests for the subdomain.</p>
<p><code>subdomain1 IN A 123.2.33.45.<br />
subdomain2 IN A 123.2.33.46.<br />
</code></p>
<p><strong>Mail Exchanger (MX) Setup</strong>: The mail exchanger subdomain configuration is required if an email server is setup to handle the subdomain mail accounts. For example, an email address like jhondoe@subdomain.mydomain.com will require a subdomain setup for resolving the mail server for subdomain.mydomain.com. The setup is similar to the CNAME setup but with MX records.</p>
<p><code>subdomain1 IN MX 10 subdomain1.domain.com.<br />
subdomain2 IN MX 10 subdomain2.domain.com.</code></p>
<p>Note: If the sub-domain is configured on another DNS name server, a Name Server (NS) record has to be created for the sub-domain on the corresponding domain name DNS server, so that it can delegate the sub-domain lookup to the other name servers. Using different name servers can eliminate security issues in cases where the sub-domains are maintained by separate administrators. However, the lookup carries an additional overhead.</p>
<h3>Configuring the web server for sub-domains</h3>
<p>Once the DNS server is setup to send the request for the sub-domain to the corresponding IP address, the work of the web server begins. The web server needs to be configured appropriately to handle the request for the sub-domain based on either the IP address or the host header entry. Host headers are commonly used by web servers to host multiple domains or sub-domains on one IP address.</p>
<p><strong>Microsoft Windows IIS</strong> : In case of Internet Information Server (IIS), create a new web site for the subdomain using the IIS Manager, and add the sub-domain (e.g. subdomain.domain.com) as a new host header value listening to the same IP address as specified in the DNS entry. The port is set to 80 (the default for http requests). The host header can be added by clicking on the advanced tab next to the IP address configuration for that web site application. If the subdomain points to a subdirectory of the web site for the domain, then set the home directory for the subdomain web site to the subdirectory. For example, if the domain.com points to C:\Inetpub\wwwroot\ and the subdomain needs to be setup for C:\Inetpub\wwwroot\subdomain, then the directory for the subdomain website should be set to C:\Inetpub\wwwroot\subdomain.</p>
<p><strong>Apache Web Server </strong>: In case of Apache web server, the subdomain is configured by virtual host entries in httpd.conf as shown below.</p>
<p><code>Listen 80<br />
NameVirtualHost *</p>
<p><VirtualHost *><br />
ServerName www.domain.com<br />
DocumentRoot /home/httpd/htdocs/<br />
</VirtualHost></p>
<p><VirtualHost *><br />
ServerName subdomain.domain.com<br />
DocumentRoot /home/httpd/htdocs/subdomain/<br />
</VirtualHost><br />
</code></p>
<h3>Conclusion</h3>
<p>Sub-domain configuration starts with an entry in the DNS server of the parent domain and the lookup resolves the sub-domain to an IP address of the web server. The web server in turn delegates the requests based on its configuration for the sub-domain. Various sub-domain configurations can be used effectively to distribute the load evenly among available web applications or web servers listening to different IP addresses. The load distribution is achieved by the DNS round robin feature of the BIND. Other uses include application isolation, simpler and professional looking URL, content categorization etc.</p>
<p><a href="http://websitegear.com">Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://techie.gyaaan.com/creating-a-new-sub-domain-in-iis6/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to prompt &#8216;Save as&#8217; for a known MIME type in C#</title>
		<link>http://techie.gyaaan.com/how-to-prompt-save-as-for-a-known-mime-type-in-c/</link>
		<comments>http://techie.gyaaan.com/how-to-prompt-save-as-for-a-known-mime-type-in-c/#comments</comments>
		<pubDate>Mon, 08 Sep 2008 10:49:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[MIME]]></category>
		<category><![CDATA[Save As]]></category>

		<guid isPermaLink="false">http://techie.gyaaan.com/?p=60</guid>
		<description><![CDATA[Thanks to Ratheesh PK &#8211; Technical Lead &#8211; Sakhatech Information Systems Pvt Ltd,
Code snippet in ASP.NET/C# to prompt browser ‘Save as’ for known MIME types.
  Response.Clear();
  Response.ContentType = &#8220;application/x-unknown&#8221;;
        string fileName = &#8220;file.jpg&#8221;;
        string filePath = &#8220;d:\\&#8221; + fileName;
 [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks to Ratheesh PK &#8211; Technical Lead &#8211; <a href="http://sakhatech.com">Sakhatech Information Systems Pvt Ltd</a>,</p>
<p><strong>Code snippet in ASP.NET/C# to prompt browser ‘Save as’ for known MIME types.</strong></p>
<p>  Response.Clear();<br />
  Response.ContentType = &#8220;application/x-unknown&#8221;;<br />
        string fileName = &#8220;file.jpg&#8221;;<br />
        string filePath = &#8220;d:\\&#8221; + fileName;<br />
        Response.AddHeader(&#8220;Content-Disposition&#8221;,&#8221;attachment; filename=&#8221; + fileName );<br />
        FileStream fs = File.OpenRead(filePath);<br />
        BinaryReader br = new BinaryReader(fs);<br />
        Response.BinaryWrite(br.ReadBytes(Convert.ToInt32(fs.Length)));<br />
        Response.End();</p>
]]></content:encoded>
			<wfw:commentRss>http://techie.gyaaan.com/how-to-prompt-save-as-for-a-known-mime-type-in-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Export Query resultset to Excel Using Interop</title>
		<link>http://techie.gyaaan.com/export-query-resultset-to-excel-using-interop/</link>
		<comments>http://techie.gyaaan.com/export-query-resultset-to-excel-using-interop/#comments</comments>
		<pubDate>Sun, 22 Jun 2008 19:14:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Reporting]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Query]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://techie.gyaaan.com/?p=58</guid>
		<description><![CDATA[Just a well documented Code  
Program to Export the result set to Excel
]]></description>
			<content:encoded><![CDATA[<p>Just a well documented Code <img src='http://techie.gyaaan.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href='http://techie.gyaaan.com/wp-content/uploads/2008/06/program.cs'>Program to Export the result set to Excel</a></p>
]]></content:encoded>
			<wfw:commentRss>http://techie.gyaaan.com/export-query-resultset-to-excel-using-interop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sure fire way to kill Dipak Bhattrai Virus/Worm from your machine</title>
		<link>http://techie.gyaaan.com/sure-fire-way-to-kill-dipak-bhattrai-virusworm-from-your-machine/</link>
		<comments>http://techie.gyaaan.com/sure-fire-way-to-kill-dipak-bhattrai-virusworm-from-your-machine/#comments</comments>
		<pubDate>Mon, 05 May 2008 18:05:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Virus-AntiVirus]]></category>
		<category><![CDATA["Dipak Bhattrai"]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Title bar]]></category>
		<category><![CDATA[Wscript]]></category>

		<guid isPermaLink="false">http://techie.gyaaan.com/?p=57</guid>
		<description><![CDATA[This virus mostly affects internet explorer and believe me its very very annoying to see some freak of nature&#8217;s name on your internet explorer title window. So here is the fix,
The problem is due to a file called WScript.exe which is a program that runs in the background silently modifying the title of the IE [...]]]></description>
			<content:encoded><![CDATA[<p>This virus mostly affects internet explorer and believe me its very very annoying to see some freak of nature&#8217;s name on your internet explorer title window. So here is the fix,</p>
<p>The problem is due to a file called WScript.exe which is a program that runs in the background silently modifying the title of the IE window everytime you open it. It checks for the title of the program that is currently running and if its Internet Explorer then it adds the name &#8220;Dipak Bhattrai&#8221; to the the title before displaying it.</p>
<ol>
<li>Task Manager &#8211; Process &#8211; Kill Wscript.exe if it is running</li>
<li>Double click My computer. Click on Tools Menu -> Folder options -> View</li>
<li>If you are unable to view to do step 2. Then its due to another virus and here is the fix for that.
<ul>
<li>If you donot get the Show All Options ( maybe a because of this or another virus) follow the following step:<br />
                         Start -> Run -> Regedit (You must have admin rights to execute this command )<br />
HKEY_LOCAL_MACHINE -> SOFTWARE -> Microsoft -> Windows -> CurrentVersion -> Explorer -> Advanced -> Folder -> Hidden -> SHOWALL</p>
<p>Here check the registry value named &#8216;CheckedValue&#8217; (REG_DWORD) here right click on it and select &#8216;Modify&#8217; then set value to 1 and click &#8216;ok&#8217;. Close Registry Editor and check the Folder Option to verify this solution. If it is not there create it.
                    </li>
</ul>
</li>
<li>Now Navigate to C:\Windows\System32\.  Look for the file named VirusGuard.vbs ( This is the Culprit )</li>
<li>Delete the file VirusGuard.vbs (Not just sending it to the recycle bin. Shift + Delete)</li>
<li>Use HighJackThis to locate the registry entries and fix it ( Remove Invalid entires to IE )</li>
<li>Highjackthis can be downloaded <a href="http://www.trendsecure.com/portal/en-US/tools/security_tools/hijackthis">here</a></li>
<li>Reboot your system</li>
<li>some process will try to run VirusGuard.vbs script and gives you a error message</li>
<li>Start IE and just confirm it has removed the bloody name &#8220;Dipak bhattarai&#8221;</li>
<li>You might see a hyphen on ur IE. Fix it back to normal (&#8220;Windows Internet Explorer&#8221;) by using <a href="http://www.securitystronghold.com/gates/vbswg.aq.html">TrueSword.exe</a>
        </li>
</ol>
<p>If you want to know the email address of the guy who wrote this script in the first place leave your email in the comment. I promise that I&#8217;ll reply back to you with his email address.</p>
<p>Thanks to Harsh and Rama for the fix.</p>
]]></content:encoded>
			<wfw:commentRss>http://techie.gyaaan.com/sure-fire-way-to-kill-dipak-bhattrai-virusworm-from-your-machine/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Installing and configuring Microsoft Visual SourceSafe for Internet (Remote) access</title>
		<link>http://techie.gyaaan.com/installing-and-configuring-microsoft-visual-sourcesafe-for-internet-remote-access/</link>
		<comments>http://techie.gyaaan.com/installing-and-configuring-microsoft-visual-sourcesafe-for-internet-remote-access/#comments</comments>
		<pubDate>Sat, 22 Mar 2008 17:20:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Source Safe]]></category>

		<guid isPermaLink="false">http://techie.gyaaan.com/?p=40</guid>
		<description><![CDATA[Visual SourceSafe Internet is a source control MSSCCI plugin for Visual Studio that allows remote access to VSS databases. Configuring VSS for Internet access may require in the best case only enabling 2 checkboxes in admin interface, but in the worst case may require granting permissions or instaling and accepting certificates. I believe that someone [...]]]></description>
			<content:encoded><![CDATA[<p>Visual SourceSafe Internet is a source control MSSCCI plugin for Visual Studio that allows remote access to VSS databases. Configuring VSS for Internet access may require in the best case only enabling 2 checkboxes in admin interface, but in the worst case may require granting permissions or instaling and accepting certificates. I believe that someone not familiar with SourceSafe will find it difficult to set all options correctly for Remote access, therefore I decided to write this page as a step-by-step tutorial. In the examples below I&#8217;ll use the worst case scenario: 2 computers not in the same domain, new vss database without matching Windows users, untrusted SSL certificate, etc.</p>
<p>The name of the server computer in my home network is ALINC-HOME, and it is visible on the Internet using http://alinconstantin.dtdns.net address.<br />
I logged in on the home machine as ALINC-HOME\Alin to configure the VSS for remote access.<br />
I want to create a SourceSafe database on the home machine, and access it from the work network, where I&#8217;m logged in on ALINC00 machine joined to REDMOND domain as REDMOND\alinc.<br />
(The pictures below that have the XP Luna style are from the work machine, while the pictures with the classic Windows style are from the home machine)</p>
<p><strong>Installing Microsoft Visual SourceSafe Internet</strong></p>
<ol>
<li>
You need to install Microsoft Visual SourceSafe on both client and server machine (server is the machine that will host the VSS database).
</li>
<li>
On Server, select Custom Install and make sure you select the &#8220;Server Components&#8221; (or at least the HTTP Remote Access component); they are not installed in Default installation confuguration.
</li>
<li>
On Client machine, you can select the Default (although I see no reason for doing this &#8211; you only save about 600kb disk space).
</li>
<li>
After installing Visual SourceSafe, you must select the VSS Internet plugin as the active source control provider.<br />
If you use Visual Studio 2005, you can use Tools/Options menu, select the SourceControl/Plug-in Selection page in the options tree, and in the combobox select the &#8220;Microsoft Visual SourceSafe (Internet)&#8221; plugin, like in the picture below:
</li>
</ol>
<p><img src='http://techie.gyaaan.com/wp-content/uploads/2008/03/pluginselect.png' alt='Select Plugin' /></p>
<p>If you use Visual Studio 2003 or older you will need to use a 3rd party MSSCCI switcher. To obtain one, you can search google or download the  <a href='http://techie.gyaaan.com/wp-content/uploads/2008/03/sccswitcher.zip' title='SccSwitcher'>SccSwitcher</a> by <a href="http://www.codeproject.com/tools/sccswitcher.asp">Soenke Schau</a>. You can also manual switch between the active providers by manually registering with regsvr32 the MSSCCI dll (ssscc.dll for VSS/LAN and RemoteVssScc.dll for VSS/Internet).</p>
<p><strong>Setting up SourceSafe and VisualStudio for Internet access (HTTP)</strong><br />
Because the communication with the server is not secure when HTTP protocol is used, I would recommend this configuration only if you&#8217;re trying to access a VSS database that is in the same LAN (that you can also access with LAN plugin) but when the direct LAN connection to the server is too slow. Using VSS Internet plugin should provide a perfomance improvement over using the LAN plugin over slow networks.<br />
I&#8217;d also recommend trying this configuration as a step first when you&#8217;re configuring your database for SSL access.</p>
<ol>
<li>For start, on the server machine, use SourceSafe Administrator program (ssadmin) to create the database. Open SSAdmin and select File/New Database menu, then follow the wizard. I selected for the database location D:\Programming\VssDB. Since this will be a new database, it will only have the default VSS accounts(Admin and Guest) plus an account for the current user on server (Alin).
</li>
<li>To enable the database for remote access, you&#8217;ll need the database to be shared. I used WindowsExplorer and shared the D:\Programming\VssDB folder as \\alinc-home\VssDB.
</li>
<li>In SSAdmin, use the File/Open Database menu. Click Add button in the open dialog and re-add the database with the UNC location (\\alinc-home\VssDB).
</li>
<li>After opening the database in SSAdmin from the share location, the Server/Configure menu item can be used.
</li>
<li>In the Server Configuration dialog, select the SourceSafe Internet tab and check &#8220;Enable SourceSafe Internet for this computer&#8221; and &#8220;Enable SourceSafe Internet for this database&#8221; checkboxes.
</li>
<li>In the web server name box, type in the name of the server as it will be visible from Internet, in my case &#8216;alinconstantin.dtdns.net&#8217;, and click Ok button.<br />
<img src='http://techie.gyaaan.com/wp-content/uploads/2008/03/serverconfigure.png' alt='serverconfigure' />
</li>
<li>
If everything went ok you should be able to access the service from Internet Explorer. You can verify this by opening the web service URL in Internet Explorer: http://alinconstantin.dtdns.net/SourceSafe/VssService.asmx You may get a login dialog, where you need to use a Windows account that is valid on the server (or on the server&#8217;s domain). In my case, I selected to login as ALINC-HOME\Administrator. (Note: in real-life you should not use an account with administrative privileges like the Administrator account. You should instead create and use a regular user account with restricted privileges to access SourceSafe databases over Internet.)<br />
<img src='http://techie.gyaaan.com/wp-content/uploads/2008/03/vssieconnect1.png' alt='VSSIEConnect1' /></p>
<p>If the server was configured correctly, you will get a &#8220;Server Error in /SourceSafe application&#8221; page. This is expected; for security reasons, VSS Web Service is configured to disallow browsing the service functions. It is recommended to leave these settings unchanged. (If you really must alter the settings to convince yourself the service is working, you can edit the web.config file for the service and change the custom error mode to off (<customErrors mode="Off"/>) and delete the <remove name="Documentation"/> line). </p>
<p><img src='http://techie.gyaaan.com/wp-content/uploads/2008/03/vssieconnect2.png' alt='VSSIEConnect2' />
</li>
<li>
The VSS web service uses impersonation. This means that Windows account used to authenticate with the server must also be granted read-write access to the dabase share. Using WindowsExplorer on the server, set the share permissions to allow write access to the database share. In my case, I will need to grant read-write access to the ALINC-HOME\Administrator account. </p>
<p><img src='http://techie.gyaaan.com/wp-content/uploads/2008/03/setshareperm.png' alt='SetSharePerm' />
</li>
<li>
If your database is on NTFS partition (which is recommended, for stronger security), you must also set the NTFS permissions for the folder. </p>
<p><img src='http://techie.gyaaan.com/wp-content/uploads/2008/03/setntfsperm.png' alt='SetNTFSPerm' />
</li>
<li>
When SSL is not used to connect to the web service, VSS client will not pass any user names or passwords to the service. Because the VSS web service uses impersonation, the username of the Windows account used for authentication with IIS (ALINC-HOME\Administrator) will also be used as a VSS account when attempting to open the database. Do not forget to add the user as a VSS user (in my case, I&#8217;ll have to add an &#8216;Administrator&#8217; account as a VSS user) </p>
<p><img src='http://techie.gyaaan.com/wp-content/uploads/2008/03/addvssuser.png' alt='AddVSSUser' />
</li>
<li>
Your SourceSafe database must allow automatic logon with network names (this is the default and can be verified in SSAdmin, Tools/Options/General/&#8221;Use Network name for automatic user log in&#8221;).
</li>
<li>
It is now time to configure Visual Studio to be able to access the service. On the client machine, in VisualStudio access the plugin&#8217;s Advanced options. If you&#8217;re using VS2005 this is available under Tools/Options/SourceControl/Plug-in Settings/Advanced. If you&#8217;re using VS2002 or VS2003 this is under Tools/Options/SourceControl/SCC Provider/Advanced. In the Advanced options dialog, turn off the &#8220;Always use SSL to connect and close the options pages and click OK in the Advanced options dialog. </p>
<p><img src='http://techie.gyaaan.com/wp-content/uploads/2008/03/pluginadvanced.png' alt='PluginAdvanced' /></p>
<p>Note that although Visual Studio has a Login ID field in the Plug-in Setting page, the VSS account name specified here will NOT be passed to the web service when connecting using HTTP! Instead, the web service will use impersonation and use the &#8216;Administrator&#8217; account I used when I authenticated with the server.
</li>
<li>
You can now open the File/Open Project dialog, click the &#8220;Visual SourceSafe (Internet)&#8221; tray, use the AddSourceSafeDatabase command and follow the wizard, typing in the server name and the database share on the server. If everything was setup correctly in previous steps, clicking Next should connect to the server without any errors, and you should be able to complete the wizard and browse the database. </p>
<p><img src='http://techie.gyaaan.com/wp-content/uploads/2008/03/addvssdb.png' alt='AddVSSDB' /></p>
<p><strong>Note:</strong> If by clicking the Next button in the wizard you get an error message that says &#8220;The Visual SourceSafe Web Service returned the following error: (blah)&#8221;, it means the service is accessible, but it cannot login to the database; check the settings from steps 8-12. If you get a different error message you probably have a connection problem, so you should check steps 5-7.
</li>
</ol>
<p><strong>Setting up SourceSafe and VisualStudio for Secure Internet access (HTTPS / SSL)</strong></p>
<p>Before attempting to enable the SourceSafe web service for secure communication, I strongly advise you to enable it for HTTP access first (it will help reduce the possibility of a connection failure because you forgot some database, server or client configuration). In the steps below I&#8217;ll assume the database was already enabled for http access, like described in the section above.</p>
<ol>
<li>First of all, you&#8217;ll need to obtain and install a certificate on your server. If you&#8217;re running Windows Server, you can install and use Certificate Services (Windows Server component) to request, approve and install the certificate. This article describes how to  <a href="http://msdn2.microsoft.com/en-us/library/ms181053(en-US,VS.80).aspx">set up Secure Sockets Layer (SSL)</a> that way. If your server machine is part of a domain, you may already have a certificate assigned automatically when you joined the domain; in this case you just need to configure IIS to use that certificate (so you may want to verify this is true by trying to assign an existing certificate).<br />
In any case, if you don&#8217;t have a server handy or you don&#8217;t want to go through the hassle of learning to use Certificate Services, the easiest way to obtain and install a certificate on the web server is by using the SelfSSL program provided free with  <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&#038;displaylang=en">IIS 6.0 Resource Kit</a>. See this article describing the procedure for  <a href="http://www.visualwin.com/SelfSSL/">using SelfSSL to create and install the certificate in IIS</a>. In my case, I used SelfSSL to create and install a certificate for alinconstantin.dtnds.net domain. (selfssl.exe /N:cn=alinconstantin.dtdns.net /V:1024)
        </li>
<li>THIS IS IMPORTANT! Visual SourceSafe Web service can be enabled from SourceSafe Admin only if the certificate is valid and trusted by the server machine. Attempting to require SSL for the web service when the certificate is not trusted or invalid will result in the web service being disabled on the machine!<br />
Similarly, the web service can only be accesed from client machines if the certificate is valid and trusted by the client machine. For security reasons, if you attempt to access a service whose certificate is not trusted, the connection will fail and you&#8217;ll receive various error messages from VisualStudio. Here is what you should be careful of:</p>
<ul>
<li>The name of the server specified by the certificate must match exactly the name of the computer (as you will access it from the client)</li>
<li>The name of the server specified by the certificate must match exactly the name specified in SSadmin/ Server/ Configure/ SourceSafeInternet/ Web Service Name edit box</li>
<li>The certificate issuer must be trusted by server and client machines (If you used SelfSSL to create the certificat, you&#8217;ll likely fail this one!)</li>
<li>The certificate must not be expired, revoked, etc
<li/>
</ul>
<p>Notice that when I created the certificate, the name I passed to selfssl.exe matched exactly the server name in the URL, and the name from SSAdmin/Server/Configure. The certificate is also valid. However, certificates issued with SelfSSL are not trusted (neither on server nor on client), so I&#8217;ll have to fix this.
</li>
<li>
On the server machine, open an InternetExplorer and browse to the site&#8217;s URL (https://alinconstantin.dtdns.net) or to the web service (https://alinconstantin.dtdns.net/SourceSafe/VssService.asmx) using HTTPS protocol, to see if the certificate is accepted without any security alert.<br />
If you&#8217;re using Internet Explorer 6.0 and the certificate is not trusted, you&#8217;ll get a security alert like in the following picture: </p>
<p><img src='http://techie.gyaaan.com/wp-content/uploads/2008/03/iesecurityalert.png' alt='IESecurityAlert' /></p>
<p>While you can clich Yes button and have the certificate accepted for that InternetExplorer session, that will not be enough to have the certificate usable with VSS Internet. You&#8217;ll have to click the &#8220;View Certificate&#8221; button to display and install the certificate first.<br />
If you&#8217;re using Internet Explorer 7 and the certificate is not trusted, you&#8217;ll see a page blocking access to the website like the one below: </p>
<p><img src='http://techie.gyaaan.com/wp-content/uploads/2008/03/ie7certalert.png' alt='IE7CertAlert' /></p>
<p>Click the &#8220;Continue to this website (not recommended)&#8221; link on the page, then click the &#8220;Certificate Error&#8221; red notification in the Internet Explorer address bar. This will display a popup window with additional information about the certificate error. </p>
<p><img src='http://techie.gyaaan.com/wp-content/uploads/2008/03/ie7certerr.png' alt='IE7CertErr' /></p>
<p>Use the &#8220;View Certificate&#8221; link in the information popup to display the certificate information. </p>
<p><img src='http://techie.gyaaan.com/wp-content/uploads/2008/03/instcert1.png' alt='InstCert1' /></p>
<p>On the certificate page use the &#8220;Install Certificate&#8221; button, and follow the wizard. Continue with the wizard accepting the default options (<a href="http://alinconstantin.homeip.net/webdocs/scc/InstCert2.png">page1</a>, <a href="http://alinconstantin.homeip.net/webdocs/scc/InstCert3.png">page2</a>, <a href="http://alinconstantin.homeip.net/webdocs/scc/InstCert4.png">page3</a>), answer Yes to the <a href="http://alinconstantin.homeip.net/webdocs/scc/InstCert5.png">security warning</a> and now the certificate should be accepted.<br />
On Vista, if you run with UAC enabled the certificate page may not have an Install button, like in the following picture.</p>
<p><img src='http://techie.gyaaan.com/wp-content/uploads/2008/03/noinstallcert.png' alt='NoInstallCert' /></p>
<p>To install the certificate on Vista, make sure you are logged in using an account in Administrators group. Also, make sure you start Internet Explorer 7.0 elevated by right clicking the IE7 icon and specifying &#8220;Run as Administrator&#8221; (doing this should display the Install button in the certificate page.) Also, in the second page of the wizard, don&#8217;t let the certificate be placed automatically in a store based on the certificate type; make sure you explicitely select the &#8220;Trusted Root Certification Authorithies/Local Computer&#8221; store, as indicated in this picture <a href="http://alinconstantin.homeip.net/webdocs/scc/InstCert3Vista.png">page2</a> of the wizard for Vista. (Failing to do this will make IE work without warning only for the administrator accout.) </p>
<p>After this if you try to browse the server&#8217;s URL using https you should not receive the warning anymore.
</li>
<li>
On the server, open SourceSafe Administrator again, open the database using the network share (\\ALINC-HOME\VssDB), open the Server/Configure dialog and check &#8220;Require secure communication using SSL&#8221; checkbox. Click the Ok button and the web service should be enabled for SSL.<br />
Note: If you get an error message that SSL could not be enforced and the service is disabled, verify again the settings from step 2 and 3. Make sure you have the right server name in the Service URL edit field, restart SSAdmin program (so it won&#8217;t have cached connections, etc) and try again.
</li>
<li>
Repeat step 3, this time on the client machine. This will take care of the certificate being trusted by the client. Note that before this step, if you tried to use the web service on the client from VisualStudio the connection would hava failed with various error messages. (If you attempted the connection and failed you may need to restart VisualStudio or wait 30 seconds for the VisualStudio cached connection status to expire).
</li>
<li>
After the previous step the connection should work again, this time using HTTPS protocol. Note that because you still have provider&#8217;s Advanced options set not to use SSL by default, VisualStudio will still make one HTTP request to the server, will discover that SSL is required by the server and will switch to HTTPS protocol. From now on, only HTTPS will be used to talk to the server (until VisualStudio is restarted, when the process will repeat). One other downside of working in this configuration is that VSS web service will still use the Windows account used to authenticate with the server (ALINC-HOME\Administrator) as a VSS user name (Administrator). So now it&#8217;s finally the time to change that&#8230; Open the VSS Internet plugin Advanced page, check the &#8220;Always use SSL to connect to the server&#8221; checkbox and click Ok in the Advanced options dialog. </p>
<p><img src='http://techie.gyaaan.com/wp-content/uploads/2008/03/pluginadvancedssl.png' alt='PluginAdvancedSSL' /></p>
<p>You can also change the VSS username in the Login ID field if you like. I choose the VSS Guest account. From now on, VisualStudio will prompt for passwords for VSS accounts, and will pass the VSS usernames and passwords to the web service through the secure channel. The web service will then use this account to open the VSS database. Note that the account used to authenticate with the server (ALINC-HOME\Administrator) will continue to be used when the server will verify the permissions for the NTFS folder and database share.</p>
<p><strong>Notes about the VSS web service</strong></p>
<ul>
<li>
The VSS web service can be used with IIS installed on different ports. When enabling the service you will need to specify in SSAdmin/Server/Configure the server URL like &#8216;alinconstantin.dtdns.net:81&#8242;. Also, when you&#8217;re adding the database on the client, you&#8217;ll have to use a similar server:port combination in the AddDatabase wizard. Notice that when ports different than default (80=http, 443==https) are used, VisualStudio will attemp to connect to the same port, no matter whether SSL is required or not.
</li>
<li>
SourceSafe Administrator can be used to enable the web service only on a website that has the ID==1. This forum post explains how to  <a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=64494&#038;SiteID=1">edit the website&#8217;s metabase file in IIS to change the site ID</a>  if needed.
</li>
<li>
If everything else failed, you can try to enable the web service manually. This article describes how to  <a href="http://msdn2.microsoft.com/en-us/library/ms230398(en-US,VS.80).aspx">Enable Remote Access Manually</a>  on the server.
</li>
</ul>
<p><strong>Further problems?</strong></p>
<p>This page is not a definitive guide of setting up VSS Internet service. There are a lot of error codes and issues you may run into that are not covered in this guide. I don&#8217;t work anymore for SourceSafe and my time for support is limited, so don&#8217;t e-mail me expecting timely answers. If you still have further problems enabling the VSS web service:</p>
<ul>
<li>
Contact VSS Support team in  <a href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=50&#038;SiteID=1">SourceSafe and SourceControl Forum</a>. Search the forum before posting, other users may have hit the same problem and found the solution already.
</li>
<li>
Peek in the IIS log files (make sure to enable logging Win32 error codes, too). Use tools like <a href="http://fiddlertool.com/fiddler2">Fiddler</a>  to monitor the HTTP/HTTPS traffic to the service from both InternetExplorer and VisualStudio. The error codes may indicate what the problem is.
</li>
</ul>
</li>
</ol>
<p><strong>Translations, related articles</strong><br />
In case this site is down, the content of this page has been replicated on <strong><a href="http://alinconstantin.members.winisp.net/webdocs/scc/VSS_Internet.htm">Alin Constantin on WinISP</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://techie.gyaaan.com/installing-and-configuring-microsoft-visual-sourcesafe-for-internet-remote-access/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Connect PHP with Jasper Reports</title>
		<link>http://techie.gyaaan.com/connect-php-with-jasper-reports/</link>
		<comments>http://techie.gyaaan.com/connect-php-with-jasper-reports/#comments</comments>
		<pubDate>Wed, 05 Mar 2008 17:28:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Reporting]]></category>
		<category><![CDATA[Jasper]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP_Java]]></category>

		<guid isPermaLink="false">http://techie.gyaaan.com/?p=37</guid>
		<description><![CDATA[This is an interesting piece of code that I found on the web. I&#8217;ve not yet tested this but it sure does look promising.

compileReport($reportsPath .$reportFileName.&#8221;.jrxml&#8221;);
               // Remplir le modèle avec les données
          [...]]]></description>
			<content:encoded><![CDATA[<p>This is an interesting piece of code that I found on the web. I&#8217;ve not yet tested this but it sure does look promising.</p>
<blockquote><p>
<?php<br />
       $reportsPath ="/home/ccharly/publichtml/utils/reports/";<br />
       $reportFileName = "CommandesClients1";<br />
       $jasperReportsLib = "/home/ccharly/publichtml/utils/jasperlib";</p>
<p>        if(extension_loaded('java')) {</p>
<p>           // lecture du répertoire où sont rengés les librairies utiles à JasperReports<br />
           $handle = @opendir($jasperReportsLib);</p>
<p>           // ajout de tous les fichier jar au chemin de classe (Class Path)<br />
           while(($new_item = readdir($handle))!==false) {</p>
<p>               $java_library_path .= 'file:'.$jasperReportsLib.'/'.$new_item .';';<br />
           }</p>
<p>           try {<br />
               // chargement des librairies au classpath<br />
               java_require($java_library_path);</p>
<p>               // création de la connexion JDBC<br />
               $Conn = new Java("org.altic.jasperReports.JdbcConnection");<br />
               // driver<br />
               $Conn->setDriver(&#8220;com.mysql.jdbc.Driver&#8221;);<br />
               // url de connexion<br />
               $Conn->setConnectString(&#8220;jdbc:mysql://localhost/erpmart&#8221;);<br />
               // utilisateur<br />
               $Conn->setUser(&#8220;root&#8221;);<br />
               // mot de passe<br />
               $Conn->setPassword(null);</p>
<p>               // Compilation du fichier JRXML en fichier Jasper<br />
               $sJcm = new JavaClass(&#8220;net.sf.jasperreports.engine.JasperCompileManager&#8221;);<br />
               $report = $sJcm->compileReport($reportsPath .$reportFileName.&#8221;.jrxml&#8221;);</p>
<p>               // Remplir le modèle avec les données<br />
               $sJfm = new JavaClass(&#8220;net.sf.jasperreports.engine.JasperFillManager&#8221;);<br />
               $print = $sJfm->fillReport(<br />
               $report,<br />
               new Java(&#8220;java.util.HashMap&#8221;),<br />
               $Conn->getConnection()<br />
               );</p>
<p>               // Export du fichier au format pdf<br />
               $sJem = new JavaClass(&#8220;net.sf.jasperreports.engine.JasperExportManager&#8221;);<br />
               $sJem->exportReportToPdfFile($print, $reportsPath .$reportFileName.&#8221;.pdf&#8221;);</p>
<p>               if (file_exists($reportsPath .$reportFileName.&#8221;.pdf&#8221;)){<br />
                    header(&#8216;Content-disposition: attachment; filename=&#8221;&#8216;.$reportFileName.&#8217;.pdf&#8221;&#8216;);<br />
                    header(&#8216;Content-Type: application/pdf&#8217;);<br />
                    header(&#8216;Content-Transfer-Encoding: binary&#8217;);<br />
                    header(&#8216;Content-Length: &#8216;. @filesize($reportsPath . $reportFileName.&#8221;.pdf&#8221;));<br />
                    header(&#8216;Pragma: no-cache&#8217;);<br />
                    header(&#8216;Cache-Control: must-revalidate, post-check=0, pre-check=0&#8242;);<br />
                    header(&#8216;Expires: 0&#8242;);<br />
                    set_time_limit(0);<br />
                    @readfile($reportsPath .$reportFileName.&#8221;.pdf&#8221;) or die(&#8220;problem occurs.&#8221;);<br />
                }</p>
<p>           } catch (JavaException $ex) {<br />
                $trace = new Java(&#8220;java.io.ByteArrayOutputStream&#8221;);<br />
               $ex->printStackTrace(new Java(&#8220;java.io.PrintStream&#8221;, $trace));<br />
               print &#8220;java stack trace: $trace\n&#8221;;<br />
           }<br />
       }</p>
<p>   ?>
</p></blockquote>
<p><a href="http://charly-clairmont.developpez.com/tutoriels/php-jasper-reports">Source:</a></p>
]]></content:encoded>
			<wfw:commentRss>http://techie.gyaaan.com/connect-php-with-jasper-reports/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
