<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-36063227</id><updated>2012-02-16T12:38:34.997-08:00</updated><category term='interview'/><category term='postgresql'/><category term='postgresql 7.x'/><category term='mysql'/><category term='php'/><category term='uasort'/><category term='FIXMBR'/><category term='php questions'/><category term='postgresql restore from previous installation'/><category term='GRUB Loader failed Error 17'/><category term='static class'/><category term='postgresql 8.x'/><category term='mysql question'/><category term='FIXBOOT'/><category term='calling static class functions'/><title type='text'>Tech Adventures</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thetechadventurer.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://thetechadventurer.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Black Beetle</name><uri>http://www.blogger.com/profile/09492253173708680466</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>20</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-36063227.post-4157610830261023775</id><published>2011-12-27T04:41:00.000-08:00</published><updated>2011-12-27T04:43:47.375-08:00</updated><title type='text'>On a new centos 5 install must things to do first</title><content type='html'>Before you start using the linux box, install system updates.&lt;br /&gt;&lt;br /&gt;If you are a engineer working on software development you must run both these commands, this will save you a lot of time later&lt;br /&gt;&lt;br /&gt;yum groupinstall 'Development Tools'&lt;br /&gt;yum groupinstall 'Development Libraries'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36063227-4157610830261023775?l=thetechadventurer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechadventurer.blogspot.com/feeds/4157610830261023775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36063227&amp;postID=4157610830261023775' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/4157610830261023775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/4157610830261023775'/><link rel='alternate' type='text/html' href='http://thetechadventurer.blogspot.com/2011/12/on-new-centos-5-install-must-things-to.html' title='On a new centos 5 install must things to do first'/><author><name>Black Beetle</name><uri>http://www.blogger.com/profile/09492253173708680466</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36063227.post-6961996719424102141</id><published>2010-10-18T07:34:00.002-07:00</published><updated>2010-10-19T00:53:42.696-07:00</updated><title type='text'>cvs update failed to create lock #cvs.lock</title><content type='html'>Though there are lot of options available if you google for the same that says change ownership permission for cvs directory etc., but if your problem is not solved even after trying all the other methods do this, it may save your day.&lt;br /&gt;&lt;br /&gt;chmod -R 777 &amp;lt;cvs path&amp;gt;/&amp;lt;project directory&amp;gt;&lt;cvs&gt;&lt;project&gt;&lt;br /&gt;&lt;br /&gt;e.g., chmod -R 777 /cvs/myproject&lt;/project&gt;&lt;/cvs&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36063227-6961996719424102141?l=thetechadventurer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechadventurer.blogspot.com/feeds/6961996719424102141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36063227&amp;postID=6961996719424102141' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/6961996719424102141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/6961996719424102141'/><link rel='alternate' type='text/html' href='http://thetechadventurer.blogspot.com/2010/10/cvs-update-failed-to-create-lock.html' title='cvs update failed to create lock #cvs.lock'/><author><name>Black Beetle</name><uri>http://www.blogger.com/profile/09492253173708680466</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36063227.post-4394343731262076416</id><published>2010-08-12T05:11:00.000-07:00</published><updated>2010-08-12T05:13:51.470-07:00</updated><title type='text'>macro `AM_PATH_CPPUNIT' not found in library</title><content type='html'>If you happen to get this error just install the following programs&lt;br /&gt;&lt;br /&gt;cppunit&lt;br /&gt;cppunit-devel&lt;br /&gt;&lt;br /&gt;rerun your program and it should run without any problems.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36063227-4394343731262076416?l=thetechadventurer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechadventurer.blogspot.com/feeds/4394343731262076416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36063227&amp;postID=4394343731262076416' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/4394343731262076416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/4394343731262076416'/><link rel='alternate' type='text/html' href='http://thetechadventurer.blogspot.com/2010/08/macro-ampathcppunit-not-found-in.html' title='macro `AM_PATH_CPPUNIT&apos; not found in library'/><author><name>Black Beetle</name><uri>http://www.blogger.com/profile/09492253173708680466</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36063227.post-6373992948049680403</id><published>2010-05-07T04:33:00.000-07:00</published><updated>2010-05-07T05:17:19.389-07:00</updated><title type='text'>Catastrophic: event fd doesn't match conn fd!</title><content type='html'>Install libevent greater than 1.4.x&lt;br /&gt;Compile memcached and use --with-libevent=[ place where libevent is insalled ]&lt;br /&gt;before you start memcached create link in /usr/lib for all the libevent library files.&lt;br /&gt;You are good to go.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36063227-6373992948049680403?l=thetechadventurer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechadventurer.blogspot.com/feeds/6373992948049680403/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36063227&amp;postID=6373992948049680403' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/6373992948049680403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/6373992948049680403'/><link rel='alternate' type='text/html' href='http://thetechadventurer.blogspot.com/2010/05/catastrophic-event-fd-doesnt-match-conn.html' title='Catastrophic: event fd doesn&apos;t match conn fd!'/><author><name>Black Beetle</name><uri>http://www.blogger.com/profile/09492253173708680466</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36063227.post-3109123029133552625</id><published>2010-04-10T12:37:00.000-07:00</published><updated>2010-04-16T04:49:01.668-07:00</updated><title type='text'>Command to list directories/folders in linux</title><content type='html'>To list directories under current path use the following command&lt;br /&gt;&lt;br /&gt;[root@192.168.1.1]$ ls -l | grep ^d&lt;br /&gt;&lt;br /&gt;This lists all the directories under the current directory.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36063227-3109123029133552625?l=thetechadventurer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechadventurer.blogspot.com/feeds/3109123029133552625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36063227&amp;postID=3109123029133552625' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/3109123029133552625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/3109123029133552625'/><link rel='alternate' type='text/html' href='http://thetechadventurer.blogspot.com/2010/04/command-to-list-directores-in-linux.html' title='Command to list directories/folders in linux'/><author><name>Black Beetle</name><uri>http://www.blogger.com/profile/09492253173708680466</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36063227.post-1299446349727928688</id><published>2009-12-15T21:03:00.000-08:00</published><updated>2009-12-15T21:32:17.187-08:00</updated><title type='text'>How to fix SVCHOST.EXE REGSVR32.EXE Application Error Memory Could not be written / read</title><content type='html'>I have been seeing a window pop up with this error message every time I start my system "&lt;span style="font-weight: bold;"&gt;Generic Host Process: Application error - [ Memory Address ] referenced memory at [ Memory Address ]. The memory could not be 'written.'&lt;/span&gt;" even after I removed a trojan W32.Spybot.ATEW. Regular scans by &lt;a href="http://www.symantec.com"&gt;Symantec AV&lt;/a&gt; and also &lt;a href="http://www.simplysup.com"&gt;Trojan Remover&lt;/a&gt; didn't report any malware. I searched for SVCHOST.EXE and I found this prefetch in %SystemRoot%\Prefetch&lt;br /&gt;&lt;br /&gt;SVCHOST.EXE-3530F672.pf&lt;br /&gt;&lt;br /&gt;I deleted it and rebooted my system. The error has disappeared.&lt;br /&gt;&lt;br /&gt;For all kind of memory related problems for any of windows OS applications like svchost.exe, regsvr32.exe, etc., you can follow this article to resolve it. Say, if you have cleaned your system of Trojans and Viruses, you must also check the prefetch folder under WINDOWS directory for the file names that have similar file names as the application name displayed in error window. If you find any, its recommended to delete these files and reboot the system.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36063227-1299446349727928688?l=thetechadventurer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechadventurer.blogspot.com/feeds/1299446349727928688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36063227&amp;postID=1299446349727928688' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/1299446349727928688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/1299446349727928688'/><link rel='alternate' type='text/html' href='http://thetechadventurer.blogspot.com/2009/12/how-to-fix-svchostexe-regsvr32exe.html' title='How to fix SVCHOST.EXE REGSVR32.EXE Application Error Memory Could not be written / read'/><author><name>Black Beetle</name><uri>http://www.blogger.com/profile/09492253173708680466</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36063227.post-3485607330781880553</id><published>2009-06-14T22:32:00.000-07:00</published><updated>2009-06-14T23:08:45.385-07:00</updated><title type='text'>Installing and Configuring apache flood on CentOS</title><content type='html'>I have often found that installing flood on 64 bit machine with CentOS fails.&lt;br /&gt;&lt;br /&gt;you can follow these simple steps to install flood on your system&lt;br /&gt;&lt;br /&gt;Download flood from &lt;br /&gt;&lt;br /&gt;svn co http://svn.apache.org/repos/asf/httpd/flood/trunk flood&lt;br /&gt;&lt;br /&gt;or &lt;br /&gt;&lt;br /&gt;Browse to &lt;a href="http://www.apache.org/dyn/closer.cgi/httpd/flood/"&gt;http://www.apache.org/dyn/closer.cgi/httpd/flood/&lt;/a&gt; and download from a mirror&lt;br /&gt;&lt;br /&gt;If you want to install on remote machine you can also&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;wget http://apache.mirror.facebook.net//httpd/flood/flood-0.4.tar.gz&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;untar the compressed file where it is downloaded on your system by issuing the following command&lt;br /&gt;&lt;br /&gt;[root@myserver] tar zxf flood-0.4.tar.gz&lt;br /&gt;&lt;br /&gt;dowload apr-1, and apr-1-util from http://apr.apache.org/download.cgi&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;wget http://apache.opensourceresources.org/apr/apr-1.3.5.tar.gz&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000FF;"&gt;wget http://apache.opensourceresources.org/apr/apr-util-1.3.7.tar.gz&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;untar both apr files as it was done for flood&lt;br /&gt;&lt;br /&gt;[root@myserver] cd apr-1.3.5&lt;br /&gt;[root@myserver] ./configure&lt;br /&gt;[root@myserver] ./make&lt;br /&gt;[root@myserver] ./make install&lt;br /&gt;&lt;br /&gt;and now for apr-1-util&lt;br /&gt;&lt;br /&gt;[root@myserver] cd ../apr-util-1.3.7&lt;br /&gt;[root@myserver] ./configure&lt;br /&gt;[root@myserver] ./make&lt;br /&gt;[root@myserver] ./make install&lt;br /&gt;&lt;br /&gt;after installing both apr and apr-util flood can be compiled and installed; flood is built on top of these utilities.&lt;br /&gt;&lt;br /&gt;[root@myserver] cd ../flood-0.4&lt;br /&gt;[root@myserver] ./configure --with-apr=/usr/local/src/apr-1.3.5/apr-1-config --with-apr-util=/usr/local/src/apr-util-1.3.7/apu-1-config&lt;br /&gt;[root@myserver] ./make&lt;br /&gt;[root@myserver] ./make install&lt;br /&gt;&lt;br /&gt;Optionally you may have to get a shell script from &lt;a href="http://linux.derkeiler.com/Newsgroups/linux.redhat/2005-03/0373.html"&gt;http://linux.derkeiler.com/Newsgroups/linux.redhat/2005-03/0373.html&lt;/a&gt; if at the time of configuring you get errors like &lt;span style="font-style:italic;color: blue;"&gt;x86_64-unknown-linux-gnu': machine `x86_64-unknown' not recognized &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Happy Flooding!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36063227-3485607330781880553?l=thetechadventurer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechadventurer.blogspot.com/feeds/3485607330781880553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36063227&amp;postID=3485607330781880553' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/3485607330781880553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/3485607330781880553'/><link rel='alternate' type='text/html' href='http://thetechadventurer.blogspot.com/2009/06/installing-and-configuring-apache-flood.html' title='Installing and Configuring apache flood on CentOS'/><author><name>Black Beetle</name><uri>http://www.blogger.com/profile/09492253173708680466</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36063227.post-7921189606376944169</id><published>2009-06-05T11:02:00.000-07:00</published><updated>2009-06-05T11:03:51.276-07:00</updated><title type='text'>tail: cannot open `+1' for reading</title><content type='html'>$ export _POSIX2_VERSION=199209 &lt;RETURN&gt;&lt;br /&gt;&lt;br /&gt;This will fix the problem&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36063227-7921189606376944169?l=thetechadventurer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechadventurer.blogspot.com/feeds/7921189606376944169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36063227&amp;postID=7921189606376944169' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/7921189606376944169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/7921189606376944169'/><link rel='alternate' type='text/html' href='http://thetechadventurer.blogspot.com/2009/06/tail-cannot-open-1-for-reading.html' title='tail: cannot open `+1&apos; for reading'/><author><name>Black Beetle</name><uri>http://www.blogger.com/profile/09492253173708680466</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36063227.post-9189552770646231441</id><published>2009-04-14T06:40:00.001-07:00</published><updated>2009-04-14T13:10:41.407-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='uasort'/><category scheme='http://www.blogger.com/atom/ns#' term='static class'/><category scheme='http://www.blogger.com/atom/ns#' term='calling static class functions'/><title type='text'>Calling static class methods with uasort</title><content type='html'>&lt;span style="font-family: courier new;"&gt;&lt;?php&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;class Testuasort&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  static function mysort($a, $b)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    if ($a[0] == $b[0]) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;     {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;        if($a[1] == $b[1]) return 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;        return $a[1] &gt; $b[1] ? -1 : 1;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;     }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    return $a[0] &lt; $b[0] ? -1 : 1;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  static function sortOnfield($narr)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    uasort($narr, array(self,'mysort'));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    return $narr;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;?&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Further reading at http://bugs.php.net/bug.php?id=14104&amp;amp;edit=1&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36063227-9189552770646231441?l=thetechadventurer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechadventurer.blogspot.com/feeds/9189552770646231441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36063227&amp;postID=9189552770646231441' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/9189552770646231441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/9189552770646231441'/><link rel='alternate' type='text/html' href='http://thetechadventurer.blogspot.com/2009/04/calling-static-class-methods-with.html' title='Calling static class methods with uasort'/><author><name>Black Beetle</name><uri>http://www.blogger.com/profile/09492253173708680466</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36063227.post-2748329638827641336</id><published>2009-03-27T06:27:00.000-07:00</published><updated>2010-05-15T02:54:29.501-07:00</updated><title type='text'>Configure failed for xml/expat , apr-util</title><content type='html'>&lt;pre&gt;On cent-os, redhat, fedora:&lt;br /&gt;&lt;br /&gt;yum install expat-devel&lt;br /&gt;yum install apr-devel&lt;br /&gt;&lt;br /&gt;On ubuntu, debian&lt;br /&gt;&lt;br /&gt;apt-get install libexpat1-dev&lt;br /&gt;apt-get install libapr1-dev&lt;br /&gt;&lt;br /&gt;and then configure your application&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36063227-2748329638827641336?l=thetechadventurer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechadventurer.blogspot.com/feeds/2748329638827641336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36063227&amp;postID=2748329638827641336' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/2748329638827641336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/2748329638827641336'/><link rel='alternate' type='text/html' href='http://thetechadventurer.blogspot.com/2009/03/configure-failed-for-xmlexpat-apr-util.html' title='Configure failed for xml/expat , apr-util'/><author><name>Black Beetle</name><uri>http://www.blogger.com/profile/09492253173708680466</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36063227.post-4879852263080096384</id><published>2008-12-12T21:11:00.000-08:00</published><updated>2008-12-12T21:25:16.884-08:00</updated><title type='text'></title><content type='html'>&lt;span style="font-family:courier new;"&gt; perl Makefile.PL&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at Makefile.PL line 1.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style="font-family:verdana;"&gt;BEGIN failed--compilation aborted at Makefile.PL line 1.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you happen to encounter this error while installing a perl configured script, it may be possible that your machine doesn't have perl MakeMaker so you need to update perl and its libraries&lt;br /&gt;&lt;br /&gt;Installation on Fedora&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;yum install perl-devel&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;on Debian/Ubuntu&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;apt-get install perl-devel&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This would install the latest stable version of perl and its dependent libraries. After update run the command&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;perl Makefile.PL&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I everything is all right you may see a message like this&lt;br /&gt;&lt;br /&gt;Checking if your kit is complete...&lt;br /&gt;Looks good&lt;br /&gt;Writing Makefile for HTTPD::Bench::ApacheBench&lt;br /&gt;&lt;br /&gt;&lt;a href="http://freshmeat.net/projects/apachebench/"&gt;ApacheBench&lt;/a&gt; is the package I was installing on my system.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36063227-4879852263080096384?l=thetechadventurer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechadventurer.blogspot.com/feeds/4879852263080096384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36063227&amp;postID=4879852263080096384' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/4879852263080096384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/4879852263080096384'/><link rel='alternate' type='text/html' href='http://thetechadventurer.blogspot.com/2008/12/perl-makefile.html' title=''/><author><name>Black Beetle</name><uri>http://www.blogger.com/profile/09492253173708680466</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36063227.post-5457312105966215988</id><published>2008-11-18T21:15:00.000-08:00</published><updated>2008-11-18T21:27:54.311-08:00</updated><title type='text'>Working with CVS</title><content type='html'>Though there are lot of tutorials on the internet for one to find out how to work with CVS. I would like to put few handy commands that I have found it difficult to recall when needed. That's going to save some time at least.&lt;br /&gt;&lt;br /&gt;How do I checkout a branch?&lt;br /&gt;cvs [-d /&amp;lt;cvs directory&amp;gt;&lt;cvs&gt;] checkout -r &amp;lt;branch name&amp;gt; &amp;lt;release name&amp;gt;&lt;branch&gt; &lt;release&gt;&lt;br /&gt;&lt;br /&gt;This would checkout your files in the folder &lt;release&gt;&lt;br /&gt;&lt;br /&gt;How do I checkout a single file from cvs?&lt;br /&gt;cvs &lt;/release&gt;&lt;/release&gt;&lt;/branch&gt;&lt;/cvs&gt; [-d /&amp;lt;cvs directory&amp;gt;] &lt;cvs&gt;&lt;branch&gt;&lt;release&gt;&lt;release&gt;co &lt;release&gt;&lt;/release&gt;&lt;/release&gt;&lt;/release&gt;&lt;/branch&gt;&lt;/cvs&gt;&amp;lt;release name&amp;gt;&lt;cvs&gt;&lt;branch&gt;&lt;release&gt;&lt;release&gt;&lt;release&gt;/&lt;/release&gt;&lt;/release&gt;&lt;/release&gt;&lt;/branch&gt;&lt;/cvs&gt;&amp;lt;path to file&amp;gt;&lt;br /&gt;&lt;cvs&gt;&lt;branch&gt;&lt;release&gt;&lt;release&gt;&lt;release&gt;&lt;path&gt;&lt;br /&gt;NB: Text within &lt;&gt; symbols have to be replaced with actual names as they exist on your CVS repository.&lt;em class="quotelev1"&gt;&lt;/em&gt;&lt;/path&gt;&lt;/release&gt;&lt;/release&gt;&lt;/release&gt;&lt;/branch&gt;&lt;/cvs&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36063227-5457312105966215988?l=thetechadventurer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechadventurer.blogspot.com/feeds/5457312105966215988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36063227&amp;postID=5457312105966215988' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/5457312105966215988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/5457312105966215988'/><link rel='alternate' type='text/html' href='http://thetechadventurer.blogspot.com/2008/11/working-with-cvs.html' title='Working with CVS'/><author><name>Black Beetle</name><uri>http://www.blogger.com/profile/09492253173708680466</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36063227.post-5636002132179789927</id><published>2008-05-19T03:46:00.000-07:00</published><updated>2008-05-19T03:55:38.521-07:00</updated><title type='text'>nawk - where to find it?</title><content type='html'>&lt;span style="font-family:arial;"&gt;If at the time of configuring your program on linux the configure script says "nawk not found" you don't need to panic, though there is every reason to be, as, if your program requires you must provide. For achieving that you should create a soft link to awk as nawk&lt;/span&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:arial;" &gt;ln -s /usr/awk /usr/nawk&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;configure make and install&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36063227-5636002132179789927?l=thetechadventurer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechadventurer.blogspot.com/feeds/5636002132179789927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36063227&amp;postID=5636002132179789927' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/5636002132179789927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/5636002132179789927'/><link rel='alternate' type='text/html' href='http://thetechadventurer.blogspot.com/2008/05/nawk-where-to-find-it.html' title='nawk - where to find it?'/><author><name>Black Beetle</name><uri>http://www.blogger.com/profile/09492253173708680466</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36063227.post-3465695026432283260</id><published>2008-04-30T00:44:00.000-07:00</published><updated>2010-10-24T08:11:22.547-07:00</updated><title type='text'>Compiling ServerLimit in Apache 2.x</title><content type='html'>&lt;span style=";font-family:trebuchet ms;font-size:85%;"  &gt;I had some requirement from my client that required me to set the ServerLimit directive of apache to increase my server limit. So that Apache can serve more number of clients I increased the MaxClients to 500 and after a restart I started receiving warning messages after server start saying to lower my MaxClients limit as ServerLimit was set to 256. One change that has been incorporated in Apache 2.2.x is that ServerLimit cannot be set through configuration files any more for &lt;a href="http://httpd.apache.org/docs/2.0/mod/prefork.html"&gt;mpm-prefork&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Workaround for this is to compile Apache with increased ServerLimit. So, before you compile, open prefork.c that would be at &lt;apache src="" dir=""&gt;/server/mpm/prefork/prefork.c&lt;br /&gt;and find the text "DEFAULT_SERVER_LIMIT" then go to the line that says #define DEFAULT_SERVER_LIMIT&lt;br /&gt;there you would find 256 against this directive, change it to the value that you need your ServerLimit to, I changed it to 1000.&lt;br /&gt;&lt;br /&gt;Configure, make and make install, and you are all set&lt;/apache&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36063227-3465695026432283260?l=thetechadventurer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechadventurer.blogspot.com/feeds/3465695026432283260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36063227&amp;postID=3465695026432283260' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/3465695026432283260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/3465695026432283260'/><link rel='alternate' type='text/html' href='http://thetechadventurer.blogspot.com/2008/04/compiling-serverlimit-in-apache-2x.html' title='Compiling ServerLimit in Apache 2.x'/><author><name>Black Beetle</name><uri>http://www.blogger.com/profile/09492253173708680466</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36063227.post-8921865351297198163</id><published>2007-09-30T22:46:00.000-07:00</published><updated>2007-10-01T09:47:43.084-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php questions'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='interview'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql question'/><title type='text'>Interview questions for PHP and MySQL - Part 1</title><content type='html'>&lt;style type="text/css"&gt;.style2 {font-family: "Courier New", Courier, monospace; font-size: 11px;}.style4 {color: #0000CC}.style5 {color: #009900}.style6 {color: #FF0000}&lt;/style&gt;&lt;br /&gt;&lt;p class="style2"&gt;PHP&lt;br /&gt;&lt;br /&gt;Q1.Can we write windows like applications in PHP.&lt;br /&gt;Ans : Yes using PHP-GTK on linux and WinBinder on windows.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q2.What difference does it make when I declare variables with $ and $ in prefix.&lt;br /&gt;Ans: &lt;span class="style4"&gt;$x&lt;/span&gt; &lt;span class="style5"&gt;=&lt;/span&gt; &lt;span class="style6"&gt;"Lion"&lt;/span&gt;;&lt;br /&gt; &lt;span class="style4"&gt; $$x &lt;/span&gt;&lt;span class="style5"&gt;=&lt;/span&gt; &lt;span class="style6"&gt;"Zebra"&lt;/span&gt;;&lt;br /&gt;  &lt;span class="style5"&gt;echo&lt;/span&gt; &lt;span class="style4"&gt;$Lion&lt;/span&gt;;&lt;br /&gt;  would display "Zebra"&lt;br /&gt;Use : creating runtime variables&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q3.What is the difference between &lt;span class="style5"&gt;strpos&lt;/span&gt; and &lt;span class="style5"&gt;stripos&lt;/span&gt; function&lt;br /&gt;Ans: strpos is case sensitive search, and stripos is case insensitive search&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q4.What are the ways by which we can find out if a variable has been declared?&lt;br /&gt;Ans: isset or empty language constructs&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q5.What is "global" and how to use it?&lt;br /&gt;Ans: variables declared outside the functions can be used inside the function using &lt;span class="style5"&gt;global&lt;/span&gt; keyword&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q6.What is the difference between echo and print&lt;br /&gt;Ans: echo can take more than one parameter for displaying.&lt;br /&gt;         &lt;span class="style5"&gt;print&lt;/span&gt; cannot take more than one&lt;br /&gt;e.g    &lt;br /&gt; &lt;span class="style5"&gt;echo&lt;/span&gt; &lt;span class="style6"&gt;'This'&lt;/span&gt;, &lt;span class="style6"&gt;'That'&lt;/span&gt; &lt;span class="style5"&gt;//is valid&lt;/span&gt;&lt;br /&gt; &lt;span class="style5"&gt;print&lt;/span&gt; &lt;span class="style6"&gt;'This'&lt;/span&gt;, &lt;span class="style6"&gt;'That'&lt;/span&gt; &lt;span class="style5"&gt;//is invalid&lt;/span&gt;&lt;br /&gt; &lt;span class="style5"&gt;print&lt;/span&gt; returns &lt;span class="style6"&gt;1&lt;/span&gt; always.&lt;br /&gt; &lt;span class="style5"&gt;echo&lt;/span&gt; cannot be used to return anything&lt;br /&gt; &lt;span class="style4"&gt;$ret&lt;/span&gt; = &lt;span class="style5"&gt;print&lt;/span&gt; &lt;span class="style6"&gt;"Abcd"&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;//valid&lt;/span&gt;&lt;br /&gt; &lt;span class="style4"&gt;$ret&lt;/span&gt; = &lt;span class="style5"&gt;echo&lt;/span&gt; &lt;span class="style6"&gt;"Abcd"&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;//invalid&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q7.What are predefined variables in php, give some examples.&lt;br /&gt;Ans: PHP provides an additional set of predefined arrays containing variables from the web server (if applicable), the environment, and user input. These new arrays are rather special in that they are automatically global&lt;br /&gt;&lt;/p&gt;&lt;p class="style2"&gt;[ Resource Link : &lt;a href="http://in.php.net/manual/en/language.variables.predefined.php"&gt;http://in.php.net/manual/en/language.variables.predefined.php&lt;/a&gt; ]&lt;/p&gt;&lt;p class="style2"&gt;e.g., &lt;span class="style4"&gt;$_SERVER, $_REQUEST, $_POST, $_GET, $_ENV, $_COOKIE, $_FILES, $_SESSION, $GLOBALS, $php_errormsg, $http_response_header&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q8.Give examples of predefined classes in PHP, and specify the use of anyone of them.&lt;br /&gt;Ans: &lt;span class="style4"&gt;stdClass, Exception,_PHP_Incomplete_Class, php_user_filter, Directory&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Exception : for exception handling&lt;br /&gt;Directory: &lt;span class="style4"&gt;dir&lt;/span&gt; class&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q9.Declaring a class.&lt;br /&gt;Ans: &lt;span class="style5"&gt;public/private/protected [static] class&lt;/span&gt; &amp;lt;&lt;span class="style4"&gt;classname&lt;/span&gt;&amp;gt; &lt;span class="style5"&gt;extends&lt;/span&gt; &amp;lt;&lt;span class="style4"&gt;baseclassname&lt;/span&gt;&amp;gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="style5"&gt;public&lt;/span&gt; &lt;span class="style4"&gt;$x&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;…&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="style5"&gt;public&lt;/span&gt; &lt;span class="style5"&gt;function&lt;/span&gt; &lt;span class="style4"&gt;method_a&lt;/span&gt;() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;…&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q10.How can we instantiate a class with default values.&lt;br /&gt;Ans: Write a function with the same name as class and assign values to the vars.&lt;br /&gt;E.g.:&lt;br /&gt;&lt;span class="style5"&gt;class&lt;/span&gt; &lt;span class="style4"&gt;myclass&lt;/span&gt; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span class="style5"&gt;private&lt;/span&gt; &lt;span class="style4"&gt;$var1&lt;/span&gt;, &lt;span class="style4"&gt;$var2&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span class="style5"&gt;function&lt;/span&gt; &lt;span class="style4"&gt;myclass&lt;/span&gt;() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="style4"&gt;$this&lt;/span&gt;&lt;span class="style5"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="style4"&gt;var1&lt;/span&gt; &lt;span class="style5"&gt;=&lt;/span&gt;&lt;span class="style6"&gt; "Demo"&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="style4"&gt;$this&lt;/span&gt;&lt;span class="style5"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="style4"&gt;var2&lt;/span&gt; &lt;span class="style5"&gt;=&lt;/span&gt; &lt;span class="style6"&gt;"Disabled"&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span class="style5"&gt;function&lt;/span&gt; &lt;span class="style4"&gt;__get&lt;/span&gt;(&lt;span class="style4"&gt;$x&lt;/span&gt;) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="style5"&gt;return&lt;/span&gt; &lt;span class="style4"&gt;$this&lt;/span&gt;&lt;span class="style5"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="style4"&gt;$x&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt; &lt;span class="style4"&gt;$m&lt;/span&gt; &lt;span class="style5"&gt;=&lt;/span&gt; &lt;span class="style5"&gt;new&lt;/span&gt; &lt;span class="style4"&gt;myclass&lt;/span&gt;();&lt;br /&gt; &lt;span class="style5"&gt;echo&lt;/span&gt; &lt;span class="style4"&gt;$m&lt;/span&gt;&lt;span class="style5"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="style4"&gt;var1&lt;/span&gt; . &lt;span class="style4"&gt;" Vars "&lt;/span&gt; . &lt;span class="style4"&gt;$m&lt;/span&gt;-&amp;gt;&lt;span class="style4"&gt;var2&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q11.Abstraction, interfaces explain the main difference.&lt;br /&gt;Ans: a) Abstract classes cannot be instantiated,&lt;br /&gt;b) They start with keyword abstract before the class name,&lt;br /&gt;c) One can force the methods to be declared in the inheriting class by creating&lt;br /&gt;   abstract functions&lt;br /&gt;d) only abstract class can have abstract methods&lt;br /&gt;eg.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span class="style5"&gt;abstract class&lt;/span&gt; a {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="style5"&gt;abstract function&lt;/span&gt;  b();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="style5"&gt;public function&lt;/span&gt; c() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="style5"&gt;echo &lt;/span&gt;&lt;span class="style6"&gt;"Can be used as it is"&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span class="style5"&gt;class&lt;/span&gt; m extends a {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="style5"&gt;public function&lt;/span&gt; b() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="style5"&gt;echo&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;"Defined function b"&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&lt;span class="style4"&gt;    $tClass&lt;/span&gt; &lt;span class="style5"&gt;= new&lt;/span&gt; m();&lt;br /&gt;&lt;span class="style4"&gt;   $tClass&lt;/span&gt;&lt;span class="style5"&gt;-&amp;gt;&lt;/span&gt;b();&lt;br /&gt;&lt;span class="style4"&gt;   $tClass&lt;/span&gt;&lt;span class="style5"&gt;-&amp;gt;&lt;/span&gt;c();&lt;/p&gt;&lt;br /&gt;&lt;p class="style2"&gt;Q12.Interface classes only provide the skeleton of the class that the inheriting class must implement.&lt;br /&gt;&lt;br /&gt;Eg.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span class="style5"&gt;interface&lt;/span&gt; &lt;span class="style4"&gt;Person&lt;/span&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="style5"&gt;public function&lt;/span&gt; &lt;span class="style4"&gt;myFunc&lt;/span&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span class="style5"&gt;class&lt;/span&gt; &lt;span class="style4"&gt;Employee&lt;/span&gt; &lt;span class="style5"&gt;implements&lt;/span&gt; &lt;span class="style4"&gt;Person&lt;/span&gt; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="style5"&gt;public function&lt;/span&gt; &lt;span class="style4"&gt;myFunc&lt;/span&gt;() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="style5"&gt;echo&lt;/span&gt; &lt;span class="style6"&gt;"Implemented"&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt; &lt;span class="style4"&gt;$tClass&lt;/span&gt; &lt;span class="style5"&gt;= new&lt;/span&gt; &lt;span class="style4"&gt;Employee&lt;/span&gt;();&lt;br /&gt; &lt;span class="style4"&gt;$tClass&lt;/span&gt;&lt;span class="style5"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="style4"&gt;myFunc&lt;/span&gt;();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q13.What are magic methods?&lt;br /&gt;Ans: Functionalities like serializing, converting objects to string, getting setting values without     explicit get and set methods for the variables etc, are magic functionality. PHP defines methods with     names starting with __(double underscore).&lt;br /&gt;Eg. &lt;span class="style4"&gt;__get, __set, __construct, __destruct, __set, __isset, __unset, __sleep, __wakeup, __toString, __clone,     __autoload, __set_state&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[ Resource Link : &lt;a href="http://in.php.net/manual/en/language.oop5.magic.php"&gt;http://in.php.net/manual/en/language.oop5.magic.php&lt;/a&gt; ]&lt;br /&gt;&lt;br /&gt;Q14.What does function `eval` do?&lt;br /&gt;Ans: Evaluate a string as PHP code;&lt;br /&gt;Eg.  &lt;span class="style5"&gt;eval&lt;/span&gt;(&lt;span class="style6"&gt;'echo "This would be printed"'&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q15.What is the method by which PHP converts datatype of a given variable.&lt;br /&gt;Ans: &lt;span class="style5"&gt;settype&lt;/span&gt;()&lt;br /&gt; &lt;span class="style4"&gt;$a&lt;/span&gt; &lt;span class="style5"&gt;=&lt;/span&gt; &lt;span class="style6"&gt;"10"&lt;/span&gt;; &lt;span class="style5"&gt;// $a is string&lt;/span&gt;&lt;br /&gt; &lt;span class="style5"&gt;settype&lt;/span&gt;(&lt;span class="style4"&gt;$a&lt;/span&gt;,&lt;span class="style6"&gt;"integer"&lt;/span&gt;); &lt;span class="style5"&gt;// $a is integer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q.Can we change php.ini settings at the runtime, and how?&lt;br /&gt;Ans : Yes, using &lt;span style="color: rgb(0, 153, 0);"&gt;ini_set&lt;/span&gt;();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q16.What is the difference between &lt;span style="color: rgb(0, 153, 0);"&gt;sort&lt;/span&gt;(), &lt;span style="color: rgb(0, 153, 0);"&gt;assort&lt;/span&gt;() and &lt;span style="color: rgb(0, 153, 0);"&gt;ksort&lt;/span&gt;? Under what circumstances would you use each of these?&lt;br /&gt;Ans: Sorts an array, sorts an array and maintains index association, Sorts an array by key&lt;br /&gt; Simple sort (sorts on values)&lt;br /&gt; Simple sort after sorting the array (lets assume size of array is 10) rearranges the index, if we want     to access element at index[5], using a simple sort an element value would have changed, but in assort     the value is still held by  index 5 though its position in the array may be 10th.&lt;br /&gt; Ksort – sorts the array by key and maintains the key to data correlations&lt;/p&gt;&lt;br /&gt;&lt;p class="style2"&gt;Q17.What is the difference between foo() &amp;amp; @foo()?&lt;br /&gt;Ans: if an error occurs calling foo() would show up the error on the screen, whereas, @foo() would suppress the error because ‘@’ is a error control operator.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q18.What is the difference between mysql_fetch_row() and mysql_fetch_array() and mysql_fetch_object?&lt;br /&gt;Ans: &lt;span class="style4"&gt;mysql_fetch_row&lt;/span&gt;() – fetches a row as an enumerated array&lt;br /&gt; &lt;span class="style4"&gt;mysql_fetch_array&lt;/span&gt;() - Fetch a result row as an associative array, a numeric array, or both&lt;br /&gt; &lt;span class="style4"&gt;mysql_fetch_object&lt;/span&gt; - Fetch a result row as an object&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q19.What is the difference between include &amp;amp; include_once? include &amp;amp; require?&lt;br /&gt;Ans: &lt;span class="style4"&gt;include_once&lt;/span&gt; includes the script only once if it is already included in the execution of the script&lt;br /&gt; Include includes the script everytime the include is encountered in the code&lt;br /&gt; Require is identical to include except that it results in fatal error when file is not present in the     include_path.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q20.What type of inheritance PHP supports?&lt;br /&gt;Ans: An object can inherit only from one base class. Multiple inheritance is not supported in PHP.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q21.How can we call an object's method by using the variable functions?&lt;br /&gt;Ans: If MyClass contains function myFunction()&lt;br /&gt;&lt;br /&gt;…&lt;br /&gt;&lt;span class="style4"&gt;$foo&lt;/span&gt; &lt;span class="style5"&gt;= new&lt;/span&gt; &lt;span class="style4"&gt;MyClass&lt;/span&gt;();&lt;br /&gt;&lt;span class="style4"&gt;$var&lt;/span&gt; &lt;span class="style5"&gt;=&lt;/span&gt; &lt;span class="style6"&gt;"myFunction"&lt;/span&gt;;&lt;br /&gt;&lt;span class="style4"&gt;$c&lt;/span&gt;&lt;span class="style5"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="style4"&gt;$var&lt;/span&gt;();&lt;br /&gt;&lt;/p&gt;&lt;p class="style2"&gt;[ Resource Link : &lt;a href="http://in.php.net/manual/en/functions.variable-functions.php"&gt;http://in.php.net/manual/en/functions.variable-functions.php&lt;/a&gt; ]&lt;br /&gt;&lt;br /&gt;Ajax, Cross site scripting (JavaScript).&lt;br /&gt;&lt;br /&gt;Q22.What is the use of AJAX?&lt;br /&gt;Ans: If a page contains form that needs to be updated constantly based on runtime values,  a javascript code constantly sends user input to the system and displays the results from the server, without refreshing the whole page.&lt;/p&gt;&lt;p class="style2"&gt;Q23.What is cross site scripting, and how to avoid it?&lt;br /&gt;Ans: Injecting a javascript code in the response of a form that is capable of calling and executing scripts from other site.&lt;br /&gt;&lt;br /&gt;  Occurs when variables holding form values are not cleaned with html code escaping functions.&lt;br /&gt;&lt;br /&gt;  Clean the variables before storing or before display. Recommendation is to display the code clean and store the value as it is, unless its specified otherwise.&lt;/p&gt;&lt;br /&gt;&lt;p class="style2"&gt;MYSQL.&lt;br /&gt;&lt;br /&gt;Q1.What is a join, what types of join are supported in MySQL.&lt;br /&gt;Ans: A ‘join’ joins two table in such a way that all or partial records are selected from both the table based on join criteria.&lt;br /&gt;&lt;/p&gt;&lt;p class="style2"&gt;Joins supported in mysql are :&lt;br /&gt;&lt;br /&gt;[INNER | CROSS] JOIN&lt;br /&gt;&lt;br /&gt;STRAIGHT_JOIN&lt;br /&gt;&lt;br /&gt;LEFT [OUTER] JOIN&lt;br /&gt;&lt;br /&gt;NATURAL [LEFT [OUTER]] JOIN&lt;br /&gt;&lt;br /&gt;RIGHT [OUTER] JOIN&lt;br /&gt;&lt;br /&gt;NATURAL [RIGHT [OUTER]] JOIN&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q2.In MySQL, what table type is required for foreign keys to work?&lt;br /&gt;Ans: innoDB&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q3.How does full text search work.&lt;br /&gt;Ans: A table must be a myISAM table&lt;br /&gt;Table must have char varchar and text columns&lt;br /&gt;FULLTEXT index must be created at the time of creation of table&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q4.What is the use of files .frm, .MYD, .MYI&lt;br /&gt;Ans: frm files store the table definition&lt;br /&gt;MYD files store the data&lt;br /&gt;MYI files store the index&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q5.What is maximum size of a database in MySQL?&lt;br /&gt;Ans: 65+GB / table / [ limited by the OS]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q6.How many columns can exist in a mySql table?&lt;br /&gt;Ans: 4096 colums&lt;/p&gt;&lt;br /&gt;&lt;p class="style2"&gt;Q7.What is the maximum size of a row in a mysql table?&lt;br /&gt;Ans: 65,535 not including blobs (as these are stored separately)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q8. What would you use if you have a choice Natural [left] join or inner join or left join with using clause?&lt;br /&gt;Ans: The NATURAL [LEFT] JOIN of two tables is defined to be semantically&lt;br /&gt;equivalent to an INNER JOIN or a LEFT JOIN with a USING clause that names all columns that exist in both tables&lt;/p&gt;&lt;p class="style2"&gt;[ Resource Link :  &lt;a href="http://dev.mysql.com/doc/refman/5.1/en/join.html"&gt;http://dev.mysql.com/doc/refman/5.1/en/join.html&lt;/a&gt; ]&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36063227-8921865351297198163?l=thetechadventurer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechadventurer.blogspot.com/feeds/8921865351297198163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36063227&amp;postID=8921865351297198163' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/8921865351297198163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/8921865351297198163'/><link rel='alternate' type='text/html' href='http://thetechadventurer.blogspot.com/2007/09/interview-questions-for-php-and-mysql.html' title='Interview questions for PHP and MySQL - Part 1'/><author><name>Black Beetle</name><uri>http://www.blogger.com/profile/09492253173708680466</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36063227.post-8113126236976103257</id><published>2007-06-14T22:11:00.000-07:00</published><updated>2007-06-14T23:08:14.206-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='postgresql 8.x'/><category scheme='http://www.blogger.com/atom/ns#' term='postgresql 7.x'/><category scheme='http://www.blogger.com/atom/ns#' term='postgresql restore from previous installation'/><category scheme='http://www.blogger.com/atom/ns#' term='postgresql'/><title type='text'>How to restore data from a previous PostgreSQL installation</title><content type='html'>Recently I was given a task to restore data from a previous PostgreSQL installation to my latest Postgresql installation. The server on which the database server was running crashed. Though I tried to find if any help was available on the net and surprisingly most of the sites talked about restoring data from backup created using pgdump or pgdumpall. After a lot of digging I learnt that if I give my data path while starting the database server using pg_ctl PostgreSQL can make the data accessible. I did the same and I found that the database was not getting mounted properly. Here are the steps one should keep in mind if they want to access their database from previous postgresql installation directory.&lt;br /&gt;&lt;br /&gt;1. Check for the version of previous Postgresql installation.&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 0, 0);"&gt;/.../data/PG_VERSION&lt;/span&gt; (location of directory data under previous postgresql installation directory)&lt;br /&gt;&lt;br /&gt;2. Check if it matches the current version i.e if the version of Postgresql from PG_VERSION file matches your current Postgresql installation&lt;br /&gt;- &gt;If the versions match, just clean start your postgresql using your old directory in the data path&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 0, 0);"&gt;pg_ctl start -D /data path to previous installation/&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;or alternatively you can use&lt;br /&gt;&lt;/div&gt; &lt;span style="font-style: italic; color: rgb(153, 0, 0);"&gt;postmaster -D /data path to previous installation/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- &gt; if the versions don't match as it was in my case, [I had Postgresql 7.4 installed previously and now I wanted to get the data on to Postgresql 8.4] we have to do a bit more than just starting database server with old data path.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Steps to recover data from previous version of Postgresql&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;a) install Postgresql 7.4 (remember even if you cannot find version 7.4 you can install any 7.x version)&lt;br /&gt;for this, I downloaded the source and compiled and installed it on my system&lt;br /&gt;Ubuntu users don't have to go through all this they can directly use binary package download from &lt;span style="font-style: italic; color: rgb(255, 153, 0);"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;https://launchpad.net/ubuntu/+source/postgresql/7.4.5-3&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic; color: rgb(255, 153, 0);"&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;This site also has downloadable source code so people who use Linux flavors for which binary is not available can rebuild the binary on their system locally.&lt;br /&gt;&lt;br /&gt;RPM binary packages are also available from www.postgresql.org&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;http://www.postgresql.org/ftp/binary/v7.4.17/&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Once installed, use the command in step-2, Postgresql should mount the database without any errors, login to postgresql database server and you should be able to see all your previous data.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36063227-8113126236976103257?l=thetechadventurer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechadventurer.blogspot.com/feeds/8113126236976103257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36063227&amp;postID=8113126236976103257' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/8113126236976103257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/8113126236976103257'/><link rel='alternate' type='text/html' href='http://thetechadventurer.blogspot.com/2007/06/how-to-restore-data-from-previous.html' title='How to restore data from a previous PostgreSQL installation'/><author><name>Black Beetle</name><uri>http://www.blogger.com/profile/09492253173708680466</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36063227.post-4735935226473490163</id><published>2006-12-07T19:12:00.000-08:00</published><updated>2006-12-07T19:44:55.813-08:00</updated><title type='text'>Making the best use of Internet</title><content type='html'>Internet has grown manifolds as a community. But delving deeper into this community, I could draw a conclusion that on the internet if you see the number of people visiting sites that are in the language they understand is higher, than the sites that are in other languages.  Surprisingly, people have started cornering themselves again with the language barrier. But, now netizens don't need to worry, as there are online tools available that can do the translation of web pages to language of your choice from other languages on the fly. This indeed opens up few more areas where you can find information and use it too. I was searching for some resource on Debian Linux, and even after searching for two days I didn't find any information that would have helped me. Fortunately, search engines like Google, also add [Translate] link if the site is in some other language that can be translated. Finally, I ended up getting a proper explanation about the problem and its solution on a French site. Other sites offering similar service is Babelfish owned by altavista.com. In the initial stages translators were used more like humor generators where you feed in a sentence, reverse the result back into english and it use to be amusing, most of the time. Times have changed and now more languages are added, and, one can easily translate text/html pages from French, Portuguese, Russian, Italian, Chinese, Japanese, etc. There are still improvements going on and I am sure the translators would be able to translate texts without errors in the near future. A nice thing that has been added with this translators is that they also convert the links to go through the translators so that navigating the website is easy and seamless, as you don't have to do translation manually every time you click a link on the web page. Babelfish still does not have support for Russian, though they have it on their website, google scores on this. If someone is not obsessed with a particular site they can see the translations on all the websites available and see which site support a particular language better. &lt;a href="http://translate.google.com/"&gt;Google Translation&lt;/a&gt;&lt;br /&gt;&lt;a href="http://babelfish.altavista.com/"&gt;Babelfish Translation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The sites that I commonly use. So, welcome to the yet unexplored area of Internet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36063227-4735935226473490163?l=thetechadventurer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechadventurer.blogspot.com/feeds/4735935226473490163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36063227&amp;postID=4735935226473490163' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/4735935226473490163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/4735935226473490163'/><link rel='alternate' type='text/html' href='http://thetechadventurer.blogspot.com/2006/12/making-best-use-of-internet.html' title='Making the best use of Internet'/><author><name>Black Beetle</name><uri>http://www.blogger.com/profile/09492253173708680466</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36063227.post-116352845017499340</id><published>2006-11-14T10:07:00.000-08:00</published><updated>2006-11-14T10:20:50.186-08:00</updated><title type='text'>Setup Alias for your directories on Apache</title><content type='html'>Its very easy to setup aliases on Apache running under *nix platforms. It took a whole day to figure out and setup aliases for directories on Apache under Windows.&lt;br /&gt;&lt;br /&gt;1. open httpd.conf for editing in your favorite text editor. Please be sure, you edit the right file.&lt;br /&gt;2. search for word "Alias" [without quotes]. After search you may find something like this&lt;br /&gt;#    Alias ... [ alias name ] [full path name]&lt;br /&gt;3. Delete # from the line, if present, otherwise add your own Alias directive as below.&lt;br /&gt;&lt;br /&gt;Alias /img "C:\Myimages\images"&lt;br /&gt;&lt;br /&gt;where "/img" is the alias you want to have for directory "C:\Myimages\images"&lt;br /&gt;&lt;br /&gt;4. Save the file&lt;br /&gt;6. Restart apache [ refer http://httpd.apache.org/ for starting up your apache webserver, incase you don't know how to]&lt;br /&gt;&lt;br /&gt;Thats it, folks !!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36063227-116352845017499340?l=thetechadventurer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechadventurer.blogspot.com/feeds/116352845017499340/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36063227&amp;postID=116352845017499340' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/116352845017499340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/116352845017499340'/><link rel='alternate' type='text/html' href='http://thetechadventurer.blogspot.com/2006/11/setup-alias-for-your-directories-on.html' title='Setup Alias for your directories on Apache'/><author><name>Black Beetle</name><uri>http://www.blogger.com/profile/09492253173708680466</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36063227.post-116125656042067649</id><published>2006-10-19T03:41:00.000-07:00</published><updated>2006-10-19T04:33:29.146-07:00</updated><title type='text'>I wish there were UnDo commands in Life too</title><content type='html'>Yesterday, was an amazing day. Since morning I was feeling great. I had things lined up, and I was enjoying doing every small task I had in mind. I had written in my previous post that my hard drive crashed. I would have got my data the next day I wrote about it. I was desperately waiting for the person  give me the address  of the technician. But, as the saying goes .. "Had life been so easy!". Anyways, though I didn't receive any information about the technician till evening, I had my counter plans already in place. All my "What if ?" things and "What if not ?" things were in place. It was like a commander, having his infantary in very high spirits, ready for a war. I had to finish my work at my office, and then only I could go back home and do some self-learnt know hows. I was so anxious to try out the new things, but as the saying goes .. "Had life been so easy..".  Finally the time came when  I was out of my office, and then I had to take transport courtsey: &lt;span style="font-style: italic;"&gt;Govt. of Karnataka&lt;/span&gt;, back home. The ride was a bit harsh, but I was not even thinking about it. Again, the excitement of seeing my PC working was more than all that I was going thru. Reached home, and connected my hard drive to my friends PC as slave. I got some tools, from the internet, and wanted to test them out on my HDD, these tools can read partition information and can help correct them. Anyways, in my mind, I always was having the curiosity factor building up but I delayed the diagnosis for sometime. First I freshened myself up, and pepped up with some boosters that I think I would have required. I still had read the information, didn't see it working on a hard drive live. I needed all my experience and all my strengths in my side and with right proportions to do the next thing. That was going ahead and running the tools on my HDD. First, I installed the tools on my friends system, and then started the application. The application reported error that something was wrong with Access mode and it was wrong. The partition information had changed statistics of my HDD in a way that I had 200 GB FAT-16 Drive. For all the people new to FAT-16, its just a file system used earlier by stone age DOS. No way it can access anything more than 2 GB. First I corrected this problem by selecting Access mode as LBA from my BIOS Menu. After this I started my application again, and tried to correct the problem by selecting Automatically rebuild partition table . This didn't help, so I scanned the disk and manually selected the partition tables. It showed me the partition information, and I had a XXL smile on my face.. "My Precious, I said". I wrote the partition table information. Fixed the HDD on my computer back and started ... Viola, it booted in Windows, I checked and all my partitions were back as they were earlier. How does it feel when you get back your 80 GB+ data?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36063227-116125656042067649?l=thetechadventurer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechadventurer.blogspot.com/feeds/116125656042067649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36063227&amp;postID=116125656042067649' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/116125656042067649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/116125656042067649'/><link rel='alternate' type='text/html' href='http://thetechadventurer.blogspot.com/2006/10/i-wish-there-were-undo-commands-in.html' title='I wish there were UnDo commands in Life too'/><author><name>Black Beetle</name><uri>http://www.blogger.com/profile/09492253173708680466</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36063227.post-116091783996301513</id><published>2006-10-15T06:07:00.000-07:00</published><updated>2010-04-16T05:12:52.601-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GRUB Loader failed Error 17'/><category scheme='http://www.blogger.com/atom/ns#' term='FIXMBR'/><category scheme='http://www.blogger.com/atom/ns#' term='FIXBOOT'/><title type='text'>How to crash your hard drive?</title><content type='html'>Sitting idle, without having much to do on this lazy Sunday morning, because of a crashed hard drive on my PC, I couldn’t find a better thing to do than to update my blog.&lt;br /&gt;Every time I thought of my system, I felt miserable. It all just happened too fast, and by the time I realized it was just a bit too late. Now, when I look back and think about how it all happened, I am convinced; they were series of events that were waiting to be discovered by me. I perhaps may have done something to not let it happen, but I guess I was too excited with the outcome of the adventures I was having with my system. No idea ever flashed, for what was actually in store for me, and what I learnt was something that happened for the first time with me. In spite of being in the field of computers for over a decade, I never encountered this kind of problem. For once it did occur in my mind this was getting more exciting and can be a good feed for a desi techno masala action thriller!&lt;br /&gt;I have a dual boot hard drive with Linux on one and Windows on the other partition. The Linux partition had its swap file on the same partition where OS was installed. Power cuts use to make my Linux OS repair its file system every time I boot on Linux, so I tried to create a swap partition on one of my other partitions, all in good faith. I made a DOS partition, on one of the four partitions I have, and formatted my newly created partition. I left some space for Linux swap. I thought I would do the rest of my work from Linux itself. I started my system and phew.., my GRUB loader failed!. I tried and tried, but couldn’t get the GRUB loader up, I left it as it is and hoped that it would understand and repair all by itself once I come back from my work. After getting back home, I started my system only to be disappointed, my prayers were unheard, and I was still having the same system showing me the dull black and white screen with messages that only geeks with masters in geekology would be able to comprehend. Though the whole day I tried to find a way out of this tricky situation on the internet, but perhaps the explanations were too alien for me to understand it in depth. Over the years in computers I have understood one thing, as you keep learning; the messages get more and more cryptic, something like “GRUB Loader failed Error 17”. Being into application development I am more used to getting meaningful error messages and I get the source code to debug. Here, I had more challenging situation, and tried seeking help from one of my friends, but he was too as clueless as I was. Finally I thought of using some commands on NT Recovery console, I have been reading it all on the internet while I was searching for repairing GRUB. And I thought of trying it, but then, what unfolded was absolutely funny. My system was unusable, NT reported error as if a dutiful mom was looking for her babies … it was not able to find NTLDR and I knew I was doomed. What I did was not easy, I wrote the boot record by using FIXBOOT and though difficult, I could do it with so much ease was because I didn’t know much about its actions on a multi-boot hard drive. I learnt one thing after all this adventure that, I should not use this command next time I am caught in this kind of situation. But perhaps, the adventure with my system was not yet over and script for the other part of my adventure was getting ready in my mind. Last time when I saw list of commands on recovery console of NT, I saw one more command called FIXMBR. I saw a ray of hope in this command as I read earlier on the net that GRUB has to do something with the MBR and this command was looking more promising as the time passed. My desire of seeing my system working was growing stronger every second I spent time in isolation. Even if it meant I cannot use Linux for sometime. I wanted to see my system ‘That Worked’ and, I was ready to take my chances. I ran the command and it gave me a warning message of loosing all the data on the hard drive, I went ahead and pressed &lt;enter&gt; key and I got very promising messages confirming MBR was written. I started my system and hoped for the best. After POST it tried loading the OS, but perhaps after issuing the earlier command my MBR got corrupted and my hard drive was doubly unusable. My system read “Invalid MBR”. I sensed a chill in my spine, and over the years I have learn't the art of getting out of these kinds of tight situations. By holding my head with my both hands and pressing while looking down does help me ease. I did that and it helped me a lot. I started thinking now what next? Any more tricks? I thought of giving up, and called my friend letting him know about this. I guess he was disturbed in middle of his sleep so I let him sleep. But I just couldn’t stop myself and wanted to know if there is any possibility of getting my valuables back. 80 GB of data, it’s a big thing to loose. I called another friend of mine in Hyderabad. I felt better when he said it is possible to recover the data. We had a very cordial discussion on this topic with Hindustani classical background music. My friend’s one and half year old daughter has started singing, and she made the ambiance as if it was of 15th – 16th century. Next day morning I took some more opinion about my problem and I learnt that I will have to give my hard drive to some hard drive specialist. I hope I will have it up and running soon, I still have to spend a day in exile before my data is recovered. How it feels when one looses a year of data and all the work?&lt;/enter&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36063227-116091783996301513?l=thetechadventurer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechadventurer.blogspot.com/feeds/116091783996301513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36063227&amp;postID=116091783996301513' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/116091783996301513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36063227/posts/default/116091783996301513'/><link rel='alternate' type='text/html' href='http://thetechadventurer.blogspot.com/2006/10/how-to-crash-your-hard-drive.html' title='How to crash your hard drive?'/><author><name>Black Beetle</name><uri>http://www.blogger.com/profile/09492253173708680466</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>
