<?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>Compdigitec Labs</title>
	<atom:link href="http://www.compdigitec.com/labs/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.compdigitec.com/labs</link>
	<description>The place for interesting things</description>
	<lastBuildDate>Mon, 30 Aug 2010 20:06:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Solving the infinite GRUB loop (GRUB GRUB GRUB GRUB GRUB) problem</title>
		<link>http://www.compdigitec.com/labs/2010/08/30/solving-the-infinite-grub-loop-grub-grub-grub-grub-grub-problem/</link>
		<comments>http://www.compdigitec.com/labs/2010/08/30/solving-the-infinite-grub-loop-grub-grub-grub-grub-grub-problem/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 20:06:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[full screen grub]]></category>
		<category><![CDATA[grub grub grub]]></category>
		<category><![CDATA[grub grub grub grub grub]]></category>
		<category><![CDATA[grup loop]]></category>
		<category><![CDATA[infinite loop]]></category>
		<category><![CDATA[linux.grub]]></category>

		<guid isPermaLink="false">http://www.compdigitec.com/labs/?p=184</guid>
		<description><![CDATA[Sometimes, especially after changes to the hard drive or changes to partitioning, you will find that your Linux computer would no longer boot, but instead fill the screen up with GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB, etc infinitely without giving the boot menu, and the only way to exit out would have [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes, especially after changes to the hard drive or changes to partitioning, you will find that your Linux computer would no longer boot, but instead fill the screen up with GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB, etc infinitely without giving the boot menu, and the only way to exit out would have been to press Ctrl-Alt-Delete and reset the machine.</p>
<p>Apparently the problem is caused when GRUB tries to load the next stage of the bootloader, but <a href="http://www.trilithium.com/johan/2005/06/grub-grub-grub/">fails to load it</a> and instead hangs in an infinite loop because it can&#8217;t read out of the next stage. However in our case the BIOS settings were perfectly fine and there was nothing wrong with that. It turns out that the actual problem lying below the infinite loop was that the GRUB bootloader was <strong>corrupted</strong> and had to be reinstalled.</p>
<p><strong>Prerequisites</strong></p>
<ul>
<li>Floppy drive &amp; real 3.5 inch floppy</li>
<li><a href="/labs/files/bootgrub.img">Download</a> the <a href="http://cstein.kings.cam.ac.uk/~chris/bootgrub.html">grub boot floppy </a>(1.44 MB)</li>
<li>Write the floppy image to a real floppy, if you are on Linux you can simply <strong>dd if=bootgrub.img of=/dev/fd0</strong> whereas if you are on windows you can use something like <a href="http://www.chrysocome.net/rawwrite">rawrite</a> to write out the image.</li>
</ul>
<p><strong>Steps</strong></p>
<ol>
<li>Boot your computer from floppy.</li>
<li>Once the floppy has fully loaded with the menu, press &#8220;c&#8221; on your keyboard to enter the command prompt.</li>
<li>Type in the following commands:
<pre class="brush: bash;">find /boot/grub/stage1</pre>
<p>Skip the (fd0) entry that it produces and note down the one that matches your /boot partition. If it does not find it, then note down your /boot partition in the form of (hdx,y) where x is the hard disk number and y is the partition number. For example, (hd0,0) is equivalent to /dev/sda1 in Linux.</li>
<li>Type in the following:
<pre class="brush: bash;">root (hd&lt;strong&gt;x&lt;/strong&gt;, &lt;strong&gt;y&lt;/strong&gt;)</pre>
<p>where thew (hdx,y) is the location of /boot (from above command).</li>
<li>Set up grub and reboot:
<pre class="brush: bash;">setup (hd0)
reboot</pre>
<p>If you wish to install grub to different drive, you can do so by changing hd0 to hd + your hd number.</li>
<li>Remove floppy.</li>
</ol>
<p><strong>Errors</strong></p>
<p>If you receive &#8220;Read Error&#8221; while starting the floppy you should double check your floppy and floppy drive for errors.</p>]]></content:encoded>
			<wfw:commentRss>http://www.compdigitec.com/labs/2010/08/30/solving-the-infinite-grub-loop-grub-grub-grub-grub-grub-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up a HTTP Gateway on Ubuntu 10.04</title>
		<link>http://www.compdigitec.com/labs/2010/08/11/setting-up-a-http-gateway-on-ubuntu-10-04/</link>
		<comments>http://www.compdigitec.com/labs/2010/08/11/setting-up-a-http-gateway-on-ubuntu-10-04/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 17:34:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[HTTP (Internet)]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[apache 2]]></category>
		<category><![CDATA[forwarding]]></category>
		<category><![CDATA[gateway]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[mod_proxy]]></category>
		<category><![CDATA[proxypass]]></category>
		<category><![CDATA[proxypassreverse]]></category>

		<guid isPermaLink="false">http://www.compdigitec.com/labs/?p=183</guid>
		<description><![CDATA[An HTTP gateway is one of the ways that one can host multiple sites using only one external IP. The way that it works is that the user requests the page from the gateway and specifies which host was requested. The gateway server then forwards the request to the appropriate web server, which then returns [...]]]></description>
			<content:encoded><![CDATA[<p>An HTTP gateway is one of the ways that one can host multiple sites using only one external IP. The way that it works is that the user requests the page from the gateway and specifies which host was requested. The gateway server then forwards the request to the appropriate web server, which then returns the result to the gateway server, and the gateway server returns the result transparently to the user. This is a much better way to do multiple domains without having to purchase additional static IP address for the purpose of hosting websites.</p>
<p><strong>Prerequisites</strong></p>
<p>Install packages <em>apache2</em>, <em>libapache2-mod-proxy-html</em>:</p>
<pre class="brush: bash;">sudo apt-get install apache2 libapache2-mod-proxy-html</pre>
<p><strong>Process</strong></p>
<ol>
<li>Enable the the Apache mod_proxy as it is not enabled by default:
<pre class="brush: bash;">sudo a2enmod proxy_http</pre>
</li>
<li>Add a reverse proxy pass to the configuration. Open <strong>/etc/apache2/sites-available/default</strong> with your favourite text editor and add the following text:
<pre class="brush: xml;">
&lt;VirtualHost *:80&gt;
    &lt;Proxy *&gt;
     Order Deny,Allow
     Allow from all
    &lt;/Proxy&gt;

 ServerName fooserver.example.com

 ProxyRequests Off
 ProxyPass / http://192.168.42.3/
 ProxyPassReverse / http://192.168.42.3/
&lt;/VirtualHost&gt;
</pre>
<p>Replace <strong>fooserver.example.com</strong> with your own domain name, and replace <strong>192.168.42.3</strong> with the internal IP address of your server (keep the http:// portion).</li>
<li>Restart Apache 2:
<pre class="brush: bash;">sudo /etc/init.d/apache2 restart</pre>
</li>
<li>Using your hosting provider&#8217;s DNS tool, point your domain name (<strong>fooserver.example.com</strong>) to your public IP.</li>
<li>You&#8217;re done! To test, visit your domain name and it should bring you the website on your internal server.</li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.compdigitec.com/labs/2010/08/11/setting-up-a-http-gateway-on-ubuntu-10-04/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up a Subversion server using Apache on Ubuntu</title>
		<link>http://www.compdigitec.com/labs/2010/08/09/setting-up-a-subversion-server-using-apache-on-ubuntu/</link>
		<comments>http://www.compdigitec.com/labs/2010/08/09/setting-up-a-subversion-server-using-apache-on-ubuntu/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 19:38:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[HTTP (Internet)]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[DAV]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.compdigitec.com/labs/?p=182</guid>
		<description><![CDATA[Subversion is an excellent open-source solution for keeping track of the different versions while developing software. Here, we will see how to set up a subversion server on an Ubuntu 10.04 LTS Server to provide programmers with the ability to use Subversion.
Prerequisities
Apache 2 should have already been installed and configured with SSL &#8211; if not, [...]]]></description>
			<content:encoded><![CDATA[<p>Subversion is an excellent open-source solution for keeping track of the different versions while developing software. Here, we will see how to set up a subversion server on an Ubuntu 10.04 LTS Server to provide programmers with the ability to use Subversion.</p>
<p><strong>Prerequisities</strong></p>
<p>Apache 2 should have already been installed and configured with SSL &#8211; if not, see the <a href="https://help.ubuntu.com/10.04/serverguide/C/httpd.html">Ubuntu Server Guide</a> for more details. Install the packages <em>subversion</em> and <em>libapache2-svn</em>:</p>
<pre class="brush: bash;">sudo apt-get install subversion libapache2-svn</pre>
<p><strong>Setting up</strong></p>
<ol>
<li>Create a home for the Subversion files:
<pre class="brush: bash;">sudo mkdir -p /var/svn</pre>
</li>
<li>Open up <strong>/etc/apache2/mods-available/dav_svn.conf</strong> in your favourite text editor of choice, and add the following text at the bottom (ignore anything already there):
<pre class="brush: plain;">&lt;Location /svn&gt;
     DAV svn
     SVNParentPath /var/svn
     SVNListParentPath On
     AuthType Basic
     AuthName &quot;Subversion Repository&quot;
     AuthUserFile /etc/subversion/passwd
     &lt;LimitExcept GET PROPFIND OPTIONS REPORT&gt;
        Require valid-user
     &lt;/LimitExcept&gt;
  &lt;/Location&gt;&lt;/pre&gt;</pre>
</li>
<li>Add a user to the Subversion &#8211; if you don&#8217;t, you may end up with strange errors like &#8220;<strong>svn: Server sent unexpected return value (500 Internal Server Error) in response to MKACTIVITY request</strong>&#8221; when trying to commit.
<pre class="brush: bash;">sudo htpasswd -c /etc/subversion/passwd admin</pre>
<p>It will prompt for a password &#8211; just give it something.</li>
<li>You&#8217;re good to go &#8211; although without any projects the server won&#8217;t have anything to commit to. Add a project to the server:
<pre class="brush: bash;">sudo mkdir -p /var/svn/project
sudo svnadmin create /var/svn/project</pre>
</li>
</ol>
<p><strong>Results/Errors</strong></p>
<pre class="brush: bash;">svn commit -m nomsg test1 test2  --username=root --password=top_secret_root_password_here</pre>
<pre class="brush: plain;">svn: Commit failed (details follow):
svn: Server sent unexpected return value (500 Internal Server Error) in response
 to MKACTIVITY request for '/svn/project/!svn/act/53aca034-c64b-5b41-8bf4-
2715d91af049'</pre>
<p>This error is because you do not have a valid login passed to the server, although it could use a much, much more descriptive message than &#8220;Internal Server Error&#8221;. Remember the login is <em><strong>not</strong></em> the Unix login, but instead the login created with htpassed.</p>
<pre class="brush: bash;">svn commit -m nomsg test01 test02 --user
name=admin  --password=password_createdby_htpasswd_here</pre>
<pre class="brush: plain;">Adding         test01
Adding         test02

Committed revision 1.</pre>]]></content:encoded>
			<wfw:commentRss>http://www.compdigitec.com/labs/2010/08/09/setting-up-a-subversion-server-using-apache-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Fixing &#8220;Error: window.location.refresh is not a function&#8221;</title>
		<link>http://www.compdigitec.com/labs/2010/07/23/fixing-error-window-location-refresh-is-not-a-function/</link>
		<comments>http://www.compdigitec.com/labs/2010/07/23/fixing-error-window-location-refresh-is-not-a-function/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 23:06:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[(X)HTML]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[refresh]]></category>

		<guid isPermaLink="false">http://www.compdigitec.com/labs/?p=181</guid>
		<description><![CDATA[If when you try to refresh the page using Javascript back-end and instead of having the page refresh like you want it to refresh, instead it bounces back into your Javascript Console with a cryptic error that reads &#8220;Error: window.location.refresh is not a function&#8220;. This can be very puzzling, especially if you are not a [...]]]></description>
			<content:encoded><![CDATA[<p>If when you try to refresh the page using Javascript back-end and instead of having the page refresh like you want it to refresh, instead it bounces back into your Javascript Console with a cryptic error that reads &#8220;<strong>Error: window.location.refresh is not a function</strong>&#8220;. This can be very puzzling, especially if you are not a regular JavaScript programmer, so one can <a href="http://msdn.microsoft.com/en-us/library/ms536691(VS.85).aspx">look into the documentation</a>:</p>
<blockquote><p>object.reload( [bReloadSource])</p>
<p>Reloads the current page</p></blockquote>
<p>There&#8217;s just one small problem &#8211; it&#8217;s actually object.<strong>reload</strong>, <em><strong>not</strong></em> object.<strong>refresh!</strong> Some poor quality websites (or popular websites which make mistakes) accidently specify location.refresh instead of location.reload. So instead of calling location.refresh(), one should call the following to refresh the page:</p>
<pre class="brush: jscript;">window.location.reload();</pre>]]></content:encoded>
			<wfw:commentRss>http://www.compdigitec.com/labs/2010/07/23/fixing-error-window-location-refresh-is-not-a-function/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updated Roadsend PHP Compiler 2.9.8 packages</title>
		<link>http://www.compdigitec.com/labs/2010/07/21/updated-roadsend-php-compiler-packages/</link>
		<comments>http://www.compdigitec.com/labs/2010/07/21/updated-roadsend-php-compiler-packages/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 00:48:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[.deb]]></category>
		<category><![CDATA[binary]]></category>
		<category><![CDATA[compiler]]></category>
		<category><![CDATA[package]]></category>
		<category><![CDATA[roadsend]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.compdigitec.com/labs/?p=179</guid>
		<description><![CDATA[Due to the vast interest in our previous binary package of Roadsend PHP, we have decided to compile a newer, updated version of the Roadsend PHP compiler (v2.9.8). However, due to previous flaws in the way that we compiled the previous PHP compile, many of our readers struggled or were entirely unable to get the [...]]]></description>
			<content:encoded><![CDATA[<p>Due to the vast interest in our previous <a href="/labs/2008/07/24/install-roadsend-php-compiler-on-ubuntu-without-compiling-anything/">binary package of Roadsend PHP</a>, we have decided to compile a newer, updated version of the Roadsend PHP compiler (v2.9.8). However, due to previous flaws in the way that we compiled the previous PHP compile, many of our readers struggled or were entirely unable to get the compiler installed. As a result, Compdigitec is compiling new, fresh packages to target Ubuntu 9.10 and will make it easier to run Roadsend PHP on your Ubuntu Linux computer.</p>
<p><strong>Prerequisites</strong></p>
<ul>
<li>Uninstall any old versions of Roadsend PHP and bigloo on your computer.</li>
<li>Install the packages libgtk2.0-0, libpcre3, libfcgi, libmysqlclient15off and libsqlite3-0 like such:
<pre class="brush: bash;">sudo apt-get install libgtk2.0-0 libpcre3 libfcgi libmysqlclient15off libsqlite3-0
</pre>
</li>
<li>Install <a href="/labs/files/bigloo-compdigitec-unoffical.deb">unofficial bigloo</a> and set up the bigloo symlink like such:
<pre class="brush: bash;">sudo ln -s / /z</pre>
</li>
</ul>
<p><strong>Procedure</strong></p>
<ol>
<li>Download and install the Roadsend PHP binary package:
<ul>
<li><a title="roadsend-php-unofficial.deb" href="/labs/files/roadsend-php-unofficial.deb">roadsend-php-unofficial.deb</a> (4.8 MB)</li>
</ul>
<p>Note that the Roadsend PHP debugger (pdb) has been renamed to (roadsend-pdb) due to naming conflict with python.</li>
<li>Create a test PHP file with the following content, and save it as <strong>hello.php</strong>:
<pre class="brush: php;">
&lt;?php

// Roadsend PHP testing program
$words = Array(&quot;Hello&quot;, &quot;World&quot;, &quot;from&quot;, &quot;Roadsend PHP!&quot;);
$sentence = implode(&quot; &quot;,$words);
echo $sentence . &quot;\n&quot;;
exit(0);

?&gt;</pre>
</li>
<li>Run:
<pre class="brush: bash;">pcc hello.php</pre>
<p>to generate a <em>hello</em> executable. Test this executable by running:</p>
<pre class="brush: bash;">./hello</pre>
<p>The output of the program should read:</p>
<pre class="brush: plain;">Hello World from Roadsend PHP!</pre>
</li>
<li>Now we will test the MicroServer backend, which is a small embedded webserver that allows you to turn your PHP application into a stand-alone webserver:
<pre class="brush: bash;">pcc -s hello-server --port 44444 hello.php</pre>
<p>to generate the <em>hello-server</em> webserver. Now, we will try to visit the MicroServer:</p>
<pre class="brush: bash;">./hello-server</pre>
<p>The server should be up and running by this point. Now point your browser at <a href="http://127.0.0.1:44444/hello.php">http://127.0.0.1:44444/hello.php</a> and watch your PHP turn itself into a webserver without Apache.</li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.compdigitec.com/labs/2010/07/21/updated-roadsend-php-compiler-packages/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ASP.NET GridView All-In-One Quick Reference</title>
		<link>http://www.compdigitec.com/labs/2010/07/17/asp-net-gridview-all-in-one-quick-reference/</link>
		<comments>http://www.compdigitec.com/labs/2010/07/17/asp-net-gridview-all-in-one-quick-reference/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 01:21:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[HTTP (Internet)]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[aspnet]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[display data]]></category>
		<category><![CDATA[gridview]]></category>
		<category><![CDATA[net]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[table]]></category>

		<guid isPermaLink="false">http://www.compdigitec.com/labs/?p=178</guid>
		<description><![CDATA[Here is a quick collection of snippets where one can quickly lookup the necessities of setting up a GridView for the purposes of displaying information to the viewer through a database (for example, MySQL):
Adding Columns of Data

DataTable dt = new DataTable(&#34;Tablename&#34;);
dt.Columns.Add(&#34;Column1&#34;);
dt.Columns.Add(&#34;Column2&#34;);
dt.Columns.Add(&#34;Column3&#34;);
// for every row
DataRow dr = dt.NewRow();
dr[&#34;Column1&#34;] = &#34;Testing&#34;;
dr[&#34;Column2&#34;] = &#34;Blah&#34;;
dr[&#34;Column3&#34;] = &#34;Big Blah&#34;;
dt.Rows.Add(dr);

Binding the [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a quick collection of snippets where one can quickly lookup the necessities of setting up a GridView for the purposes of displaying information to the viewer through a database (for example, MySQL):</p>
<p><strong>Adding Columns of Data</strong></p>
<pre class="brush: csharp;">
DataTable dt = new DataTable(&quot;Tablename&quot;);
dt.Columns.Add(&quot;Column1&quot;);
dt.Columns.Add(&quot;Column2&quot;);
dt.Columns.Add(&quot;Column3&quot;);
// for every row
DataRow dr = dt.NewRow();
dr[&quot;Column1&quot;] = &quot;Testing&quot;;
dr[&quot;Column2&quot;] = &quot;Blah&quot;;
dr[&quot;Column3&quot;] = &quot;Big Blah&quot;;
dt.Rows.Add(dr);
</pre>
<p><strong>Binding the Data (and storage across sessions)</strong></p>
<pre class="brush: csharp;">
DataView dv = new DataView(dt);
Session[&quot;data&quot;] = dv;
gridviewctrl.DataSource = dv;
gridviewctrl.DataBind();
</pre>
<p><strong>Paging</strong><br />
Note: This needs AllowPaging to be set to &#8220;true&#8221;. The following code goes in the &#8220;PageIndexChanging&#8221; callback.</p>
<pre class="brush: csharp;">
gridviewctrl.PageIndex = e.NewPageIndex;
gridviewctrl.DataSource = Session[&quot;data&quot;];
gridviewctrl.DataBind();
</pre>
<p><strong>Sorting</strong><br />
Note: This needs AllowSorting to be set to &#8220;true&#8221;. The following code goes in the &#8220;Sorting&#8221; callback.</p>
<pre class="brush: csharp;">
string dir;
if (e.SortDirection == SortDirection.Ascending) {
    dir = &quot;ASC&quot;;
} else {
    dir = &quot;DESC&quot;;
}
((DataView)Session[&quot;Data&quot;]).Sort = e.SortExpression + &quot; &quot; + dir;
gridviewctrl.DataSource = Session[&quot;data&quot;];
gridviewctrl.DataBind();
</pre>
<p><strong>&lt;asp:ButtonField&gt;s</strong><br />
Create a &lt;asp:ButtonField&gt; declaration as follows: &lt;asp:ButtonField ButtonType=&#8221;Button&#8221; Text=&#8221;Button Text Here&#8221; CommandName=&#8221;DoSomething&#8221; /&gt;</p>
<pre class="brush: csharp;">
if (e.CommandName == &quot;DoSomething&quot;) {
    // get Index
    int index = Convert.ToInt32(e.CommandArgument);
    string test = ((DataView)Session[&quot;Data&quot;]).Table.Rows[index][&quot;Column1&quot;];
    Response.Redirect(&quot;http://www.google.com/search?q=&quot; + oid.ToString()&quot;);
}
</pre>]]></content:encoded>
			<wfw:commentRss>http://www.compdigitec.com/labs/2010/07/17/asp-net-gridview-all-in-one-quick-reference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solving Could not find stored procedure dbo.aspnet_CheckSchemaVersion in ASP.NET Membership</title>
		<link>http://www.compdigitec.com/labs/2010/07/13/solving-could-not-find-stored-procedure-dbo-aspnet_checkschemaversion-in-asp-net-membership/</link>
		<comments>http://www.compdigitec.com/labs/2010/07/13/solving-could-not-find-stored-procedure-dbo-aspnet_checkschemaversion-in-asp-net-membership/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 19:26:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Windows]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[membership]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.compdigitec.com/labs/?p=176</guid>
		<description><![CDATA[Normally, as usual, one would not see the error Could not find stored procedure &#8216;dbo.aspnet_CheckSchemaVersion&#8217; if one has a good database already setup with everything good to go. However, sometime the annoying error Could not find stored procedure &#8216;dbo.aspnet_CheckSchemaVersion&#8217; crops up one can check the steps below to determine the root cause of the error:

Try [...]]]></description>
			<content:encoded><![CDATA[<p>Normally, as usual, one would not see the error <strong>Could not find stored procedure &#8216;dbo.aspnet_CheckSchemaVersion&#8217;</strong> if one has a good database already setup with everything good to go. However, sometime the annoying error <strong>Could not find stored procedure &#8216;dbo.aspnet_CheckSchemaVersion&#8217;</strong> crops up one can check the steps below to determine the root cause of the error:</p>
<ol>
<li>Try to recreate the Memberships database (<strong>ASPNETDB</strong>) &#8211; it may be corrupt or inaccessible:
<pre class="brush: plain;">C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regsql -S . -E -A mrpc</pre>
</li>
<li>If that does not resolve the problem for you, the you should check in your <em>web.config</em> file to see if added &#8220;Initial Catalog=aspnetdb&#8221; somewhere in your web.config file like this:
<pre class="brush: plain;">Data source=.;Integrated Security=True;Initial Catalog=aspnetdb</pre>
</li>
<li>Restart IIS.</li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.compdigitec.com/labs/2010/07/13/solving-could-not-find-stored-procedure-dbo-aspnet_checkschemaversion-in-asp-net-membership/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Solving Handler &#8220;PageHandlerFactory-Integrated&#8221; has a bad module &#8220;ManagedPipelineHandler&#8221; in ASP.NET 4.0</title>
		<link>http://www.compdigitec.com/labs/2010/07/12/solving-handler-pagehandlerfactory-integrated-has-a-bad-module-managedpipelinehandler-in-asp-net-4-0/</link>
		<comments>http://www.compdigitec.com/labs/2010/07/12/solving-handler-pagehandlerfactory-integrated-has-a-bad-module-managedpipelinehandler-in-asp-net-4-0/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 18:36:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Windows]]></category>
		<category><![CDATA[.NET 4.0]]></category>
		<category><![CDATA[asp.net 4.0]]></category>
		<category><![CDATA[aspnet]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[dotnet]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[iis7]]></category>
		<category><![CDATA[managedpipelinehandler]]></category>
		<category><![CDATA[net]]></category>

		<guid isPermaLink="false">http://www.compdigitec.com/labs/?p=173</guid>
		<description><![CDATA[If you have just installed Visual Studio 2010 or the .NET 4.0 Framework and trying to host ASP.Net 4.0 applications doesn&#8217;t work for you and results in the following error message:
Handler &#8220;PageHandlerFactory-Integrated&#8221; has a bad module &#8220;ManagedPipelineHandler&#8221;
It means that you haven not yet run the aspnet_iisreg.exe executable needed to register the ASP.NET 4 framework with [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.compdigitec.com/labs/wp-content/uploads/2010/07/badmodule.png"><img class="alignright size-full wp-image-174" title="Bad Module" src="http://www.compdigitec.com/labs/wp-content/uploads/2010/07/badmodule.png" alt="" width="614" height="446" /></a>If you have just installed Visual Studio 2010 or the .NET 4.0 Framework and trying to host ASP.Net 4.0 applications doesn&#8217;t work for you and results in the following error message:</p>
<p><strong>Handler &#8220;PageHandlerFactory-Integrated&#8221; has a bad module &#8220;ManagedPipelineHandler&#8221;</strong></p>
<p>It means that you haven not yet run the aspnet_iisreg.exe executable needed to register the ASP.NET 4 framework with the IIS 7 webserver. In order to do so, open a command prompt and type in the following:</p>
<pre class="brush: plain;">C:\windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i</pre>
<p>Substitute <strong>v4.0.30319</strong> for what other past or future ASP.NET versions. To uninstall the ASP.NET 4 (e.g. for when you are done playing around with it and would like to do some work):</p>
<pre class="brush: plain;">c:\windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -u</pre>]]></content:encoded>
			<wfw:commentRss>http://www.compdigitec.com/labs/2010/07/12/solving-handler-pagehandlerfactory-integrated-has-a-bad-module-managedpipelinehandler-in-asp-net-4-0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Solving &#8220;The name &#8230; does not exist in the current context&#8221; in ASP.NET</title>
		<link>http://www.compdigitec.com/labs/2010/07/07/solving-the-name-does-not-exist-in-the-current-context-in-asp-net/</link>
		<comments>http://www.compdigitec.com/labs/2010/07/07/solving-the-name-does-not-exist-in-the-current-context-in-asp-net/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 15:16:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[HTTP (Internet)]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[aspnet]]></category>
		<category><![CDATA[aspx]]></category>
		<category><![CDATA[backup files]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[cs]]></category>
		<category><![CDATA[duplicate]]></category>
		<category><![CDATA[visual basic]]></category>
		<category><![CDATA[visual studio]]></category>
		<category><![CDATA[visual web designer]]></category>

		<guid isPermaLink="false">http://www.compdigitec.com/labs/?p=171</guid>
		<description><![CDATA[A little-known fact is that in ASP.NET is that you cannot have two copies of the same ASP.NET web page in the same folder, or it will attempt to load elements (such as controls) from the (usually) wrong page, and end up confusing itself, resulting in the error &#8220;The name &#8230; does not exist in [...]]]></description>
			<content:encoded><![CDATA[<p>A little-known fact is that in ASP.NET is that you cannot have two copies of the same ASP.NET web page in the same folder, or it will attempt to load elements (such as controls) from the (usually) wrong page, and end up confusing itself, resulting in the error &#8220;The name &#8230; does not exist in the current context&#8221;. This can be very confusing as you try to figure out why it is not working even though it looks like you are doing it correctly.</p>
<p>To resolve this,<strong> make sure there are no copies of the page in the same folder</strong> (such as things like backup files, accidental copies, etc) in the same folder. Either move them to a different folder or rename their extensions: .aspx to .aspxold and .cs to .csold.</p>]]></content:encoded>
			<wfw:commentRss>http://www.compdigitec.com/labs/2010/07/07/solving-the-name-does-not-exist-in-the-current-context-in-asp-net/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to add entries by UUID to /etc/fstab</title>
		<link>http://www.compdigitec.com/labs/2010/06/30/how-to-add-entries-by-uuid-to-etcfstab/</link>
		<comments>http://www.compdigitec.com/labs/2010/06/30/how-to-add-entries-by-uuid-to-etcfstab/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 19:49:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[blkid]]></category>
		<category><![CDATA[fstab]]></category>
		<category><![CDATA[linux partition]]></category>
		<category><![CDATA[mount]]></category>
		<category><![CDATA[uuid]]></category>

		<guid isPermaLink="false">http://www.compdigitec.com/labs/?p=169</guid>
		<description><![CDATA[Normally in Linux, one would be able to add entries to the /etc/fstab file by using the standard /dev/xdx notation. However, what happens when we add or remove some partitions and hard disks? In this case, it would completely throw off the entries resulting in you not being able to access your partition. As a [...]]]></description>
			<content:encoded><![CDATA[<p>Normally in Linux, one would be able to add entries to the /etc/fstab file by using the standard /dev/xdx notation. However, what happens when we add or remove some partitions and hard disks? In this case, it would completely throw off the entries resulting in you not being able to access your partition. As a result, it is also possible to mount using <a href="http://en.wikipedia.org/wiki/Universally_Unique_Identifier">UUID (<strong>U</strong>niversally <strong>U</strong>nique <strong>Id</strong>entifier)s</a>. This way you will still be able to access your partitions even if they are shuffled around.</p>
<p>To get the UUID of a partition:</p>
<pre class="brush: bash;">blkid /dev/&lt;em&gt;xxxx&lt;/em&gt; -s UUID</pre>
<p>and it will output something like this:</p>
<pre class="brush: plain;">/dev/&lt;em&gt;xxxx&lt;/em&gt;: UUID=&quot;1fa6e8df-f05a-4c7c-b30a-cd3c1b2bcebd&quot;</pre>
<p>and then you can use the UUID to add a line in /etc/fstab:</p>
<pre class="brush: plain;">UUID=1fa6e8df-f05a-4c7c-b30a-cd3c1b2bcebd	/media/mountpoint	ext4	defaults	0	1</pre>]]></content:encoded>
			<wfw:commentRss>http://www.compdigitec.com/labs/2010/06/30/how-to-add-entries-by-uuid-to-etcfstab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
