<?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"
	>

<channel>
	<title>Everything Linux - Web Development, Linux Administration and Networking</title>
	<atom:link href="http://web-developer.sitecritic.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://web-developer.sitecritic.net</link>
	<description>Search Engine Optimisation, Website Development, PHP, MYSQL, OOP, Internet Programming, Linux, Debian, Redhat, PERL, Bash, Networking, DRBD, redundancy, ISCSI, RAID, XEN, Virtualisation, IP, Unix</description>
	<pubDate>Tue, 16 Oct 2007 01:02:32 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Arrow Keys In Vim</title>
		<link>http://web-developer.sitecritic.net/2007/10/16/arrow-keys-in-vim/</link>
		<comments>http://web-developer.sitecritic.net/2007/10/16/arrow-keys-in-vim/#comments</comments>
		<pubDate>Tue, 16 Oct 2007 01:02:32 +0000</pubDate>
		<dc:creator>bpeh</dc:creator>
		
		<category><![CDATA[Blog]]></category>

		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://web-developer.sitecritic.net/2007/10/16/arrow-keys-in-vim/</guid>
		<description><![CDATA[When you navigate using the arrow keys in vim, you might get some funny characters like A, B, C&#8230;etc. In .vimrc, add this line:
:set nocompatible
This should do the trick.
]]></description>
			<content:encoded><![CDATA[<p>When you navigate using the arrow keys in vim, you might get some funny characters like A, B, C&#8230;etc. In .vimrc, add this line:</p>
<p>:set nocompatible</p>
<p>This should do the trick.</p>
]]></content:encoded>
			<wfw:commentRss>http://web-developer.sitecritic.net/2007/10/16/arrow-keys-in-vim/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Simulate Login Checks with Nagios</title>
		<link>http://web-developer.sitecritic.net/2007/09/20/simulate-login-checks-with-nagios/</link>
		<comments>http://web-developer.sitecritic.net/2007/09/20/simulate-login-checks-with-nagios/#comments</comments>
		<pubDate>Thu, 20 Sep 2007 00:02:07 +0000</pubDate>
		<dc:creator>bpeh</dc:creator>
		
		<category><![CDATA[Blogroll]]></category>

		<category><![CDATA[Nagios]]></category>

		<guid isPermaLink="false">http://web-developer.sitecritic.net/2007/09/20/simulate-login-checks-with-nagios/</guid>
		<description><![CDATA[If you wish to check that your web application is working fine (people are able to login), you can run a script to automate the login process. It is possible to use cron to do it but with nagios, you could do much more. Nagios is highly configurable and it makes perfect sense to write [...]]]></description>
			<content:encoded><![CDATA[<p>If you wish to check that your web application is working fine (people are able to login), you can run a script to automate the login process. It is possible to use cron to do it but with nagios, you could do much more. Nagios is highly configurable and it makes perfect sense to write a plugin just to do that.</p>
<p>I wrote a perl script over the weekend to simulate logins into a website once every 2 mins. If login fails after 2 tries, an email alert will be sent to the administrator (Settings can be changed in Nagios). The script works by detecting a certain html pattern from the result generated by the login success webpage. An example of the command in action is something like this:</p>
<p>check_login -f 1 -u http://xxx.com/index.php -l xx -p xx -L Username -P Password -r &#8216;Logout.jsp&#8217;</p>
<p>* L is the Userid field in the form and P is the password field in the form.<br />
* u is the FULL url including the http.<br />
* l is the actual login name and p is the actual login password.<br />
* r is the regex pattern to search for if the login is successful.<br />
* f is the form number. If you have 2 forms in the login page, the 1 will be the first form.</p>
<p>For the script to work, you need perl and its mechanize library. Copy and paste this script into the default plugin folder - likely to be /usr/lib/nagios/plugins. Add &#8216;check_login&#8217; to hosts.cfg and define it in commands.cfg (or checkcommands.cfg). Refer to the nagios doc if unsure. The script is backward compatible with netsaint.</p>
<p><code><br />
#!/usr/bin/perl -Tw</code></p>
<p>use strict;<br />
use Getopt::Long;<br />
use WWW::Mechanize;<br />
use vars qw($opt_v $opt_h $opt_u $opt_f $opt_r $opt_l $opt_L $opt_P $opt_p $PROGNAME);<br />
use lib &#8220;/usr/lib/nagios/plugins&#8221; ;<br />
use utils qw(%ERRORS &amp;print_revision &amp;support &amp;usage);</p>
<p>my($PROGNAME) = $0 =~ m/([^\/]+)$/;</p>
<p>sub print_help ();<br />
sub print_usage ();<br />
delete $ENV{PATH};<br />
delete $ENV{BASH_ENV};<br />
delete $ENV{ENV};</p>
<p>Getopt::Long::Configure(&#8217;bundling&#8217;);</p>
<p>GetOptions(<br />
&#8216;v|version&#8217;     =&gt;      \$opt_v,<br />
&#8216;h|help&#8217;                        =&gt;      \$opt_h,<br />
&#8216;u|url=s&#8217;       =&gt; \$opt_u,<br />
&#8216;l|login=s&#8217; =&gt; \$opt_l,<br />
&#8216;p|password=s&#8217; =&gt; \$opt_p,<br />
&#8216;f|formnumber=s&#8217; =&gt; \$opt_f,<br />
&#8216;r|logoutregex=s&#8217; =&gt; \$opt_r,<br />
&#8216;L|loginfield=s&#8217; =&gt; \$opt_L,<br />
&#8216;P|passwordfield=s&#8217; =&gt; \$opt_P,<br />
);</p>
<p>if ($opt_v) {<br />
print_revision($PROGNAME,&#8217;$Revision: 1.0 $&#8217;);<br />
exit $ERRORS{&#8217;UNKNOWN&#8217;};<br />
}<br />
if ($opt_h) {<br />
print_help(); exit $ERRORS{&#8217;UNKNOWN&#8217;};<br />
}</p>
<p>#### PREDEFINE FIELDS<br />
$opt_L = ($opt_L ? $opt_L : &#8220;Username&#8221;);<br />
$opt_P = ($opt_P ? $opt_P : &#8220;Password&#8221;);</p>
<p>#### CHECKING REQUIRED FIELDS<br />
sub error($$)<br />
{<br />
my($code, $msg) = @_;<br />
print($msg, &#8220;\n&#8221;);<br />
exit $ERRORS{$code};<br />
}<br />
($opt_f) || error(&#8217;UNKNOWN&#8217;, &#8216;You need to specify a form number.&#8217;);<br />
($opt_u) || error(&#8217;UNKNOWN&#8217;, &#8216;You need to specify a url.&#8217;);<br />
($opt_l) || error(&#8217;UNKNOWN&#8217;, &#8216;You need to specify a login name.&#8217;);<br />
($opt_p) || error(&#8217;UNKNOWN&#8217;, &#8216;You need to specify a passwd.&#8217;);<br />
($opt_r) || error(&#8217;UNKNOWN&#8217;, &#8216;You need to specify a logout regex.&#8217;);<br />
my $agent = WWW::Mechanize-&gt;new();<br />
$agent-&gt;get($opt_u);<br />
$agent-&gt;form_number($opt_f);<br />
$agent-&gt;field($opt_L,$opt_l);<br />
$agent-&gt;field($opt_P,$opt_p);<br />
$agent-&gt;click();</p>
<p>my $success = $agent-&gt;follow_link( url_regex =&gt; qr/$opt_r/i);<br />
unless ($success) {<br />
error(&#8217;CRITICAL&#8217;, &#8220;$opt_u login failed.\n&#8221;);<br />
}</p>
<p>error(&#8217;OK&#8217;, &#8220;$opt_u login success.\n&#8221;);</p>
<p>sub print_usage ()<br />
{<br />
print &lt;<end;><br />
Usage: $PROGNAME [-u URL] [-l login] [-p password] [-L loginfield] [-P=passwordfield] [-f formnumber] [-r logoutregex]</end;></p>
<p>Required Arguments:<br />
-u, &#8211;URL==STRING<br />
URL of the site you want to login from.<br />
-l, &#8211;login=STRING<br />
login username.<br />
-p, &#8211;password=STRING<br />
login passwd.<br />
-L, &#8211;loginfield=STRING<br />
Name of the login field in the form.<br />
-P, &#8211;passwordfield=STRING<br />
Name of the passwd field in the form.<br />
-f,  &#8211;formnumber=INT<br />
Form Number on the login page.<br />
-r, &#8211;logoutregex=STRING<br />
Regex URL to logout</p>
<p>END<br />
}<br />
sub print_help () {<br />
print_revision($PROGNAME,&#8217;$Revision: 1.0 $&#8217;);<br />
print &lt;<end;></end;></p>
<p>Bernard Peh, November 2007</p>
<p>This nagios plugin simulates a remote login using perl mechanize library. It attempts to login from a url, check for a logout regex, then logout by itself.<br />
This can be useful to make sure a website or database connection is alive.</p>
<p>END</p>
<p>print_usage();<br />
support();<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://web-developer.sitecritic.net/2007/09/20/simulate-login-checks-with-nagios/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Linux Network Printing</title>
		<link>http://web-developer.sitecritic.net/2007/09/12/linux-network-printing/</link>
		<comments>http://web-developer.sitecritic.net/2007/09/12/linux-network-printing/#comments</comments>
		<pubDate>Wed, 12 Sep 2007 05:18:56 +0000</pubDate>
		<dc:creator>bpeh</dc:creator>
		
		<category><![CDATA[Blog]]></category>

		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://web-developer.sitecritic.net/2007/09/12/linux-network-printing/</guid>
		<description><![CDATA[I installed a linux network printer for a friend and thought I post the steps here. First of all, find out the ip address of the printer. Go to http://localhost:631 to add a printer. You might need root access.
Under device, choose ipp and in Device URI, type ipp://hostname/ipp/. Then add the model and follow through [...]]]></description>
			<content:encoded><![CDATA[<p>I installed a linux network printer for a friend and thought I post the steps here. First of all, find out the ip address of the printer. Go to http://localhost:631 to add a printer. You might need root access.<u></u></p>
<p>Under device, choose ipp and in Device URI, type ipp://hostname/ipp/. Then add the model and follow through the rest of the prompts. When you have finished, go to http://localhost:631/printers/ and you should see your printer listed there. do a test print. If it works, congrats. If not, click on modify printer and under Device URI try using socket://<em>address</em>:9100 instead of ipp. The later seems to work quite well with alot of printers. if in doubt, always telnet host 9000 to see if the port is accessible.</p>
<p>If you do not have access to cups via http://localhost:631, just edit the printers.conf file</p>
<p>vi /etc/cups/printers.conf</p>
<p>the config will be something like this:</p>
<p><Printer us-printer=""><br />Info HP laserjet 4100<br />Location myhouse<br />DeviceURI socket://your-ip:9100<br />State Idle<br />StateTime 1189572516<br />Accepting Yes<br />Shared Yes<br />JobSheets none none<br />QuotaPeriod 0<br />PageLimit 0<br />KLimit 0<br />OpPolicy default<br />ErrorPolicy stop-printer<br /></Printer></p>
<p>when done, do a &#8220;sudo /etc/init.d/cupsys restart&#8221;</p>
<p>hopefully, everything should be working.</p>
]]></content:encoded>
			<wfw:commentRss>http://web-developer.sitecritic.net/2007/09/12/linux-network-printing/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Internet Security Is About Common Sense</title>
		<link>http://web-developer.sitecritic.net/2007/09/11/internet-security-is-about-common-sense/</link>
		<comments>http://web-developer.sitecritic.net/2007/09/11/internet-security-is-about-common-sense/#comments</comments>
		<pubDate>Tue, 11 Sep 2007 10:15:20 +0000</pubDate>
		<dc:creator>bpeh</dc:creator>
		
		<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://web-developer.sitecritic.net/2007/09/11/internet-security-is-about-common-sense/</guid>
		<description><![CDATA[I find remembering passwords the hardest thing in life. When creating user accounts on the net, we often need the username and password. To save trouble, a lot of people use the same username and password in alot of places - including bank accounts!
Not every website uses encryption for password, so if you happen to [...]]]></description>
			<content:encoded><![CDATA[<p>I find remembering passwords the hardest thing in life. When creating user accounts on the net, we often need the username and password. To save trouble, a lot of people use the same username and password in alot of places - including bank accounts!</p>
<p>Not every website uses encryption for password, so if you happen to register yourself in a hacker&#8217;s website, the hacker might use your username and password to try and login to other websites. Account Registration is always necessary but remember to keep a few low security user id and passwords for untrusted site. Some comon sense stuff but people don&#8217;t practice it.</p>
]]></content:encoded>
			<wfw:commentRss>http://web-developer.sitecritic.net/2007/09/11/internet-security-is-about-common-sense/feed/</wfw:commentRss>
		</item>
		<item>
		<title>copy and paste between vim windows - stupid indentation</title>
		<link>http://web-developer.sitecritic.net/2007/09/07/copy-and-paste-between-vim-windows-stupid-indentation/</link>
		<comments>http://web-developer.sitecritic.net/2007/09/07/copy-and-paste-between-vim-windows-stupid-indentation/#comments</comments>
		<pubDate>Fri, 07 Sep 2007 01:00:42 +0000</pubDate>
		<dc:creator>bpeh</dc:creator>
		
		<category><![CDATA[Blog]]></category>

		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://web-developer.sitecritic.net/2007/09/07/copy-and-paste-between-vim-windows-stupid-indentation/</guid>
		<description><![CDATA[if you are using vim and tries to copy and paste between windows or shells, you may find that vim adds some extra spaces / identations to your code. Irritation? yes. The quick solution is to do a
:set noautoident
or add this in the vimrc file to make it a default.
]]></description>
			<content:encoded><![CDATA[<p>if you are using vim and tries to copy and paste between windows or shells, you may find that vim adds some extra spaces / identations to your code. Irritation? yes. The quick solution is to do a</p>
<p>:set noautoident</p>
<p>or add this in the vimrc file to make it a default.</p>
]]></content:encoded>
			<wfw:commentRss>http://web-developer.sitecritic.net/2007/09/07/copy-and-paste-between-vim-windows-stupid-indentation/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IRAQ Get Rich Scheme</title>
		<link>http://web-developer.sitecritic.net/2007/08/06/iraq-spam-mail/</link>
		<comments>http://web-developer.sitecritic.net/2007/08/06/iraq-spam-mail/#comments</comments>
		<pubDate>Mon, 06 Aug 2007 23:08:10 +0000</pubDate>
		<dc:creator>bpeh</dc:creator>
		
		<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://web-developer.sitecritic.net/2007/08/06/iraq-spam-mail/</guid>
		<description><![CDATA[Another one of those mails&#8230; when will these things ever stop?
President/ceo.

Dear sir,

RE-CONSTRUCTION OF IRAQ - VARIOUS SUPPLIES...

My name is ( ABD-AL-RAHMAN) and this is an urgent contract.We have recieved an allocation for a contract to supply your company’s Product,

this is a Multi Million Dollars worth of international supplies to Iraq.

My benefactor in this project is [...]]]></description>
			<content:encoded><![CDATA[<p>Another one of those mails&#8230; when will these things ever stop?</p>
<pre>President/ceo.

Dear sir,

RE-CONSTRUCTION OF IRAQ - VARIOUS SUPPLIES...

My name is ( ABD-AL-RAHMAN) and this is an urgent contract.We have recieved an allocation for a contract to supply your company’s Product,

this is a Multi Million Dollars worth of international supplies to Iraq.

My benefactor in this project is a high level Iraqi Government official who

has mandated me to seek for your confidential cooperation and participation in this contract.If your company

is capable of supplying or help to re-construct iraq, You would be paid cash before you supply. If you can

assist us, then kindly contact me immediately via the details below,and make sure to furnish me with your full company

profile,full names,direct telephone and fax numbers,and include your direct email address.

As soon as we recieve your response, we shall get back to you with all details to commence.

Thank you.

ABD-AL-RAHMAN

NB:100% upfront payment for all supplies.</pre>
]]></content:encoded>
			<wfw:commentRss>http://web-developer.sitecritic.net/2007/08/06/iraq-spam-mail/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Create New Debian Package From Scratch (Extra Tips for PHP Pear Modules)</title>
		<link>http://web-developer.sitecritic.net/2007/08/03/create-new-debian-package-from-scratch-extra-tips-for-php-pear-modules/</link>
		<comments>http://web-developer.sitecritic.net/2007/08/03/create-new-debian-package-from-scratch-extra-tips-for-php-pear-modules/#comments</comments>
		<pubDate>Fri, 03 Aug 2007 02:06:35 +0000</pubDate>
		<dc:creator>bpeh</dc:creator>
		
		<category><![CDATA[Blog]]></category>

		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://web-developer.sitecritic.net/2007/08/03/create-new-debian-package-from-scratch-extra-tips-for-php-pear-modules/</guid>
		<description><![CDATA[ Pear often has alot of packages that are not yet in the debian repository&#8230; It make sense to create new pear-debian packages just to follow the protocol.
Firstly, you will have to make sure that the package that you are trying to create is not yet available in the repository else you will be re-inventing [...]]]></description>
			<content:encoded><![CDATA[<p> Pear often has alot of packages that are not yet in the debian repository&#8230; It make sense to create new pear-debian packages just to follow the protocol.</p>
<p>Firstly, you will have to make sure that the package that you are trying to create is not yet available in the repository else you will be re-inventing the wheel. Next, decide a name for the package. The name must be unique and you can check it easily using</p>
<p>dpkg -S ${pkgName}</p>
<p>Rename the source directory containing the installation files as ${PackageName}-${PackageVersion}. Next, tar and compress the source directory and name it ${PackageName}-${PackageVersion}.tar.gz</p>
<p>Create a &#8216;deb&#8217; dir under your home directory. Then, transfer the entire source directory and .gz file over.</p>
<p>If you are trying to create a pear module, you need to download and extract the source files from http://pear.php.net/packages.php. Do a fresh tar following the naming convention ${PackageName}-${PackageVersion}.tar.gz. For example, the original downloaded pear package is HTML_AJAX-0.5.2.tgz but I want my new package to be named pear-html-ajax-0.5.2, I would do this:</p>
<p>cd ~/deb<br />
cp ../HTML_AJAX-0.5.2.tgz ./<br />
tar -xzvf HTML_AJAX-0.5.2.tgz<br />
rm HTML_AJAX-0.5.2.tgz<br />
mv HTML_AJAX-0.5.2 pear-html-ajax-0.5.2<br />
tar -czvf pear-html-ajax-0.5.2.tar.gz pear-html-ajax-0.5.2</p>
<p>If everything seems ok, your directory structure should be something like this:<br />
<code><br />
- deb<br />
- pear-html-ajax-0.5.2<br />
+ AJAX<br />
+ docs<br />
+ examples<br />
+ js<br />
+ tests<br />
AJAX.php<br />
package.xml<br />
pear-html-ajax-0.5.2.tar.gz<br />
</code><br />
Install the dh-make package. Then, in the package dir (in this case, pear-html-ajax-0.5.2), run</p>
<p>dh_make -e yourname@infoxchange.net.au -f ../${pkgName.tar.gz}</p>
<p>* note the extra debian dir and orig.tar.gz file created<br />
* consult man dh-make and man debhelper if necessary<br />
<code><br />
- deb<br />
- pear-html-ajax-0.5.2<br />
+ AJAX<br />
+ debian<br />
+ docs<br />
+ examples<br />
+ js<br />
+ tests<br />
AJAX.php<br />
package.xml<br />
pear-html-ajax_0.5.2.orig.tar.gz<br />
pear-html-ajax-0.5.2.tar.gz<br />
</code><br />
The debian dir contains important information about the installation process. cd debian and you will see many files. The .ex files are sample templates and can usually be ignored.</p>
<p>* changelog - As the name implies.<br />
* copyright - As the name implies.<br />
* compat - Set the rules under which debhelper scripts (dh_*) operates. (no modification needed)<br />
* control - Contains important installation parameters. Change the following fields: section, depends and description.<br />
* dirs - directory where the files will be installed.<br />
* rules - Rules for the installation procedure. This is the hardcore part. Major changes needed.</p>
<p>If you are creating a pear package, you need to move package.xml into the package dir (in this case, pear-html-ajax-0.5.2). I have created a sample pear rule and you can copy and paste it into your rule file just to save time (see below).</p>
<p>So when you&#8217;re ready to try creating a package, do:</p>
<p>cd ~/deb/$your_new_directory<br />
dpkg-buildpackage -rfakeroot (or sudo dpkg-buildpackage)</p>
<p>The dpkg-buildpackage command will try to create a .deb package in the directory above your current directory, using the files in the &#8216;debian&#8217; directory inside your current directory.</p>
<p>A proper install will include some other files other than the .deb file.<br />
<code><br />
- deb<br />
+ pear-html-ajax-0.5.2<br />
pear-html-ajax_0.5.2.orig.tar.gz<br />
pear-html-ajax_0.5.2-1.diff.gz<br />
pear-html-ajax_0.5.2-1.dsc<br />
pear-html-ajax_0.5.2-1_i386.changes<br />
pear-html-ajax_0.5.2-1_i386.deb<br />
pear-html-ajax-0.5.2.tar.gz<br />
</code><br />
* see http://www.debian.org/doc/maint-guide/ch-build.en.html</p>
<p>If that seems to complete properly, you should be able to try installing it on your own machine with:</p>
<p>cd ~/deb<br />
dpkg -i ${your_new_package}.deb</p>
<p>Check that all the files have been installed in the right place. Eg, all pear files should go to /usr/share/php.</p>
<p>Also note that there are other ways of creating debian packages&#8230; this is the standard way.</p>
<p>&#8212;&#8212;- SAMPLE RULES FILE FOR PEAR &#8212;&#8211;<br />
<code><br />
#!/usr/bin/make -f</p>
<p># IX custom script for making pear modules into debian package. you need to have php-pear installed first.</p>
<p>PEAR ?= /usr/bin/pear</p>
<p># Your package name. Make sure it is consistent with other files.<br />
package = pear-sample<br />
configure: configure-stamp<br />
configure-stamp:<br />
	dh_testdir<br />
	touch configure-stamp<br />
build: build-stamp<br />
build-stamp: configure-stamp<br />
	dh_testdir<br />
	touch build-stamp</p>
<p>clean:<br />
	dh_clean build-stamp configure-stamp</p>
<p>install: build<br />
	dh_testdir<br />
	dh_testroot<br />
	dh_clean -k<br />
	dh_installdirs</p>
<p>	# Add here commands to install the package into debian/package.<br />
	# if the script does not work test with this line and see error<br />
	$(PEAR) install -n -R debian/$(package) package.xml;<br />
	# remove unwanted pear files left by installation<br />
	rm -f debian/$(package)/usr/share/php/.filemap;<br />
	rm -f debian/$(package)/usr/share/php/.lock;<br />
	rm -rf debian/$(package)/usr/share/php/.channels;<br />
	rm -rf debian/$(package)/usr/share/php/.depdblock;<br />
	rm -rf debian/$(package)/usr/share/php/.depdb;<br />
	rm -rf debian/$(package)/usr/share/php/.registry/.channel.pecl.php.net;<br />
	rm -rf debian/$(package)/usr/share/php/.registry/.channel.__uri;</p>
<p>        # remove duplicated files, these files are in /usr/share/doc/package<br />
	rm -rf debian/$(package)/usr/share/php/tests;<br />
	rm -rf debian/$(package)/usr/share/php/docs;</p>
<p>        # remove created tmp dir<br />
	rm -rf debian/$(package)/tmp</p>
<p># Build architecture-independent files here.</p>
<p>binary-indep: build install<br />
# We have nothing to do by default.</p>
<p># Build architecture-dependent files here.<br />
binary-arch: build install<br />
	dh_testdir<br />
	dh_testroot<br />
	dh_installdocs<br />
	dh_installexamples<br />
	dh_installchangelogs<br />
	dh_compress<br />
	dh_fixperms<br />
	dh_installdeb<br />
	dh_gencontrol<br />
	dh_md5sums<br />
	dh_builddeb<br />
binary: binary-indep binary-arch<br />
.PHONY: build clean binary-indep binary-arch binary install configure<br />
</code<br />
------- END OF FILE -----</p>
<p>Thats it. Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://web-developer.sitecritic.net/2007/08/03/create-new-debian-package-from-scratch-extra-tips-for-php-pear-modules/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Web 2.0 online picture framing application</title>
		<link>http://web-developer.sitecritic.net/2007/07/19/web20-online-picture-framing-application/</link>
		<comments>http://web-developer.sitecritic.net/2007/07/19/web20-online-picture-framing-application/#comments</comments>
		<pubDate>Thu, 19 Jul 2007 08:34:47 +0000</pubDate>
		<dc:creator>bpeh</dc:creator>
		
		<category><![CDATA[Blog]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://web-developer.sitecritic.net/2007/07/19/web20-online-picture-framing-application/</guid>
		<description><![CDATA[Yourframer is finally launched after putting in alot of hardwork. The program is designed with flexibility and expandability in mind. Anyone can simply transfer an image from anywhere and start framing almost instantaneously by inserting a simple javascript in their site. Say, for example in my flickr album, I can frame any high res image [...]]]></description>
			<content:encoded><![CDATA[<p>Yourframer is finally launched after putting in alot of hardwork. The program is designed with flexibility and expandability in mind. Anyone can simply transfer an image from anywhere and start framing almost instantaneously by inserting a simple javascript in their site. Say, for example in my flickr album, I can frame any high res image with a click&#8230; pretty cool huh?</p>
<p>The program demonstrates strong integration of Javascript, Ajax, Prototype tookit, OO PHP, Smarty and MYSQL. Go over to www.photobox.co.uk and follow the link to try and frame an image online. Special attention is paid to usability and navigation. At the time of writing, the graphics is still doggy at the moment but some designers can probably do the job better. I felt a great sense of achievement and some relief finally&#8230; Cheers.</p>
]]></content:encoded>
			<wfw:commentRss>http://web-developer.sitecritic.net/2007/07/19/web20-online-picture-framing-application/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Supplemental Index</title>
		<link>http://web-developer.sitecritic.net/2007/06/28/supplemental-index/</link>
		<comments>http://web-developer.sitecritic.net/2007/06/28/supplemental-index/#comments</comments>
		<pubDate>Thu, 28 Jun 2007 01:34:39 +0000</pubDate>
		<dc:creator>bpeh</dc:creator>
		
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://web-developer.sitecritic.net/?p=40</guid>
		<description><![CDATA[Some webpagesÂ are more important than the others and therefore get prioritised in the Google search results. One factor that detemines if a page is important or not is whether theÂ page has original content. Therefore, to rank well in Google, you need ORIGINAL CONTENT!!!
And that was what Matt kept preaching about&#8230; original content. Those pages thatÂ are [...]]]></description>
			<content:encoded><![CDATA[<p>Some webpagesÂ are more important than the others and therefore get prioritised in the Google search results. One factor that detemines if a page is important or not is whether theÂ page has original content. Therefore, to rank well in Google, you need ORIGINAL CONTENT!!!</p>
<p>And that was what Matt kept preaching about&#8230; original content. Those pages thatÂ are seen as duplicated are called supplemental index.</p>
<p>Â A quick way to check if your site is in supplemental index is to use this syntax:</p>
<p>site:www.yoururl.com -view***</p>
<p>If you find that you have alot of pages in the supplemental index, you should start worrying! But many said you can just ignore it. Well, this again is part of Google game. Just, google for supplemental index to find out more about it&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://web-developer.sitecritic.net/2007/06/28/supplemental-index/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How To Detect Automated Mails</title>
		<link>http://web-developer.sitecritic.net/2007/05/18/how-to-detect-automated-mails/</link>
		<comments>http://web-developer.sitecritic.net/2007/05/18/how-to-detect-automated-mails/#comments</comments>
		<pubDate>Fri, 18 May 2007 01:42:03 +0000</pubDate>
		<dc:creator>bpeh</dc:creator>
		
		<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://web-developer.sitecritic.net/?p=39</guid>
		<description><![CDATA[We must have received alot of emails everyday asking for link exchanges, help&#8230;etc. Most of these emails are mass mails generated by software. How can we know someone is really interested in contacting us? These are my thoughts:
Clue 1: Talk about specific services that you offer, ie not something like &#8220;we found you through the [...]]]></description>
			<content:encoded><![CDATA[<p>We must have received alot of emails everyday asking for link exchanges, help&#8230;etc. Most of these emails are mass mails generated by software. How can we know someone is really interested in contacting us? These are my thoughts:<br />
Clue 1: Talk about specific services that you offer, ie not something like &#8220;we found you through the web and you are the best person&#8230;etc&#8221;.</p>
<p>Clue 2: Name. People who knows your real name are likely to be interested to write an email to you.</p>
<p>Clue 3: How did they find you? Anyone who can describe abit about how they found youÂ  is likely to be genuine.</p>
<p>Clue 4: Others? Gut feeling&#8230; you know it when you read tonnes of junk mails.</p>
]]></content:encoded>
			<wfw:commentRss>http://web-developer.sitecritic.net/2007/05/18/how-to-detect-automated-mails/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
