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

<channel>
	<title>Mike Nott &#187; Web/Net</title>
	<atom:link href="http://www.nott.org/blog/category/web/feed" rel="self" type="application/rss+xml" />
	<link>http://www.nott.org</link>
	<description>SEO, Music, Photography &#38; Other Stuff</description>
	<lastBuildDate>Thu, 26 Jan 2012 09:18:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>PHP Whois Script</title>
		<link>http://www.nott.org/blog/php-whois-script.html</link>
		<comments>http://www.nott.org/blog/php-whois-script.html#comments</comments>
		<pubDate>Wed, 25 Jan 2006 21:43:04 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web/Net]]></category>

		<guid isPermaLink="false">http://www2.nott.org/blog/php-whois-script.html</guid>
		<description><![CDATA[Glenn over at SSEO asked for a script to do mass whois lookups. Use this function: [code lang="php"] function getwhois($domain, $tld) { require_once("whois.class.php"); $whois = new Whois(); if( !$whois->ValidDomain($domain.'.'.$tld) ){ return 'Sorry, the domain is not valid or not supported.'; } if( $whois->Lookup($domain.'.'.$tld) ) { return $whois->GetData(1); }else{ return 'Sorry, an error occurred.'; } } [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.glenn.ca/">Glenn</a> over at <a href="http://its-a-secret">SSEO</a> asked for a script to do mass whois lookups. </p>
<p>Use this function:</p>
<p>[code lang="php"]</p>
<p>    function getwhois($domain, $tld)<br />
    {<br />
        require_once("whois.class.php");</p>
<p>        $whois = new Whois();</p>
<p>	    if( !$whois->ValidDomain($domain.'.'.$tld) ){<br />
		    return 'Sorry, the domain is not valid or not supported.';<br />
	    }</p>
<p>        if( $whois->Lookup($domain.'.'.$tld) )<br />
        {<br />
            return $whois->GetData(1);<br />
        }else{<br />
            return 'Sorry, an error occurred.';<br />
        }<br />
    }</p>
<p>	$domain = trim($_REQUEST['domain']);</p>
<p>	$dot = strpos($domain, '.');<br />
	$sld = substr($domain, 0, $dot);<br />
	$tld = substr($domain, $dot+1);                     </p>
<p>	$whois = getwhois($sld, $tld);</p>
<p>	echo "
<pre>";
	echo $whois;
	echo "</pre>
<p>";   </p>
<p>[/code]</p>
<p>To call this <a href="/uploads/whois.class.php.txt">class</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nott.org/blog/php-whois-script.html/feed</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>View Adsense Source Code</title>
		<link>http://www.nott.org/blog/view-adsense-source-code.html</link>
		<comments>http://www.nott.org/blog/view-adsense-source-code.html#comments</comments>
		<pubDate>Sat, 10 Dec 2005 19:20:44 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Web/Net]]></category>

		<guid isPermaLink="false">http://www.nott.org/?p=39</guid>
		<description><![CDATA[I can be quite slow sometimes I only just realised that you could view the source code (html) of the Adsense javascript include in Firefox. Just right-click on the ads, choose &#8216;This Frame&#8217; then &#8216;View Frame Source&#8217; (obivously I knew this for normal frames ):]]></description>
			<content:encoded><![CDATA[<p>I can be quite slow sometimes <img src='http://www.nott.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I only just realised that you could view the source code (<a href="http://www.w3.org/MarkUp/">html</a>) of the <a href="https://www.google.com/adsense/">Adsense</a> javascript include in <a href="http://www.mozilla.com/firefox/">Firefox</a>.</p>
<p>Just right-click on the ads, choose &#8216;This Frame&#8217; then &#8216;View Frame Source&#8217; (obivously I knew this for normal frames <img src='http://www.nott.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ):</p>
<p><img src='/uploads/adsensesource.jpg' alt='' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nott.org/blog/view-adsense-source-code.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Web Week in London</title>
		<link>http://www.nott.org/blog/blog-week-in-london.html</link>
		<comments>http://www.nott.org/blog/blog-week-in-london.html#comments</comments>
		<pubDate>Sat, 10 Dec 2005 10:25:04 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Web/Net]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.nott.org/?p=33</guid>
		<description><![CDATA[Yesterday there was Matt Mullenweg&#8217;s WordPress meet up in Covent Garden that unfortunately I couldn&#8217;t get to. Then tonight is Geek Dinner with Robert Scoble. Even Danny Sullivan is attending. Address: Texas Embassy Cantina 1 Cockspur Street, London SW1Y 3DQ [Google Map or Multimap] Tel: 020 7925 0077 Fax: 020 7925 0444 Email: enquiries@texasembassy.com Tube [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday there was <a href="http://photomatt.net/about/">Matt Mullenweg&#8217;s</a> <a href="http://wordpress.org">WordPress</a> <a href="http://www.tamba2.org.uk/T2/archives/2005/12/04/wp-london-next-friday/">meet up</a> in Covent Garden that unfortunately I couldn&#8217;t get to.</p>
<p>Then tonight is <a href="thehughpage.com/London_Geek_Dinner_With_Robert_Scoble">Geek Dinner</a> with <a href="http://en.wikipedia.org/wiki/Robert_Scoble">Robert Scoble</a>. Even <a href="http://searchenginewatch.com/about/article.php/2155651">Danny Sullivan</a> is <a href="http://blog.searchenginewatch.com/blog/051209-175733">attending</a>. </p>
<p>Address:</p>
<p><strong>Texas Embassy Cantina</strong><br />
1 Cockspur Street, London SW1Y 3DQ [<a href="http://maps.google.co.uk/maps?q=1+Cockspur+Street,+London+SW1Y+5DL&#038;ll=51.507800,-0.129900&#038;spn=0.011673,0.019261&#038;hl=en">Google Map</a> or <a href="http://www.multimap.com/map/browse.cgi?pc=SW1Y5DL&#038;title=Texas+Embassy&#038;cat=eat">Multimap</a>]<br />
Tel: 020 7925 0077<br />
Fax: 020 7925 0444<br />
Email: enquiries@texasembassy.com<br />
Tube stops: Charing Cross, Piccadilly, Leicester Square. </p>
<p>But unfortunately I can&#8217;t make this either, due to prior commitments <img src='http://www.nott.org/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.nott.org/blog/blog-week-in-london.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IP 2 Country</title>
		<link>http://www.nott.org/blog/ip-2-country.html</link>
		<comments>http://www.nott.org/blog/ip-2-country.html#comments</comments>
		<pubDate>Wed, 07 Dec 2005 08:31:47 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Web/Net]]></category>

		<guid isPermaLink="false">http://www.nott.org/?p=30</guid>
		<description><![CDATA[Glenn asked about this in our private SEO forum, but thought I&#8217;d share it here too. I wrote this dirty shell script a couple of years ago for Wotbox, but I think it should still work. Just set it to a cron job once a day and it will give you a nice IP to [...]]]></description>
			<content:encoded><![CDATA[<p>Glenn asked about this in our private SEO forum, but thought I&#8217;d share it here too. I wrote this dirty shell script a couple of years ago for <a href="http://www.wotbox.com">Wotbox</a>, but I think it should still work. Just set it to a cron job once a day and it will give you a nice IP to country database.</p>
<p>[code lang="bash"]<br />
thedate=`date --date=yesterday +%Y%m%d`<br />
workdir=/scripts/ipdb<br />
savfile=$workdir/ipdb.$thedate</p>
<p>dbserver=127.0.0.1<br />
database=ipdb<br />
dbuserpass="--user=user --password=pass"</p>
<p>cd $workdir</p>
<p>echo "Downloading ARIN IP database"<br />
wget -q "ftp://ftp.arin.net/pub/stats/arin/delegated-arin-$thedate"<br />
echo "Downloading APNIC IP database"<br />
wget -q "ftp://ftp.arin.net/pub/stats/apnic/delegated-apnic-$thedate"<br />
echo "Downloading LACNIC IP database"<br />
wget -q "ftp://ftp.arin.net/pub/stats/lacnic/delegated-lacnic-$thedate"<br />
echo "Downloading RIPE IP database"<br />
wget -q "ftp://ftp.arin.net/pub/stats/ripencc/delegated-ripencc-$thedate"</p>
<p>echo "Cleaning downloaded IP databases"<br />
tail -100000 $workdir/delegated-arin-$thedate | grep "ipv4" | grep -v "*" | grep -v "-" | sed 's/|assigned//' | sed 's/|allocated//' | sed 's/|ipv4//' | sed 's/|........$//' > $savfile<br />
tail -100000 $workdir/delegated-apnic-$thedate | grep "ipv4" | grep -v "#" | grep -v "*" | grep -v "+" | sed 's/|assigned//' | sed 's/|allocated//' | sed 's/|ipv4//' | sed 's/|........$//' >> $savfile<br />
tail -100000 $workdir/delegated-lacnic-$thedate | grep "ipv4" | grep -v "*" | grep -v "-" | sed 's/|assigned//' | sed 's/|allocated//' | sed 's/|ipv4//' | sed 's/|........$//' >> $savfile<br />
tail -100000 $workdir/delegated-ripencc-$thedate | grep "ipv4" | grep -v "*" | grep -v "+" | sed 's/|assigned//' | sed 's/|allocated//' | sed 's/|ipv4//' | sed 's/|........$//' >> $savfile</p>
<p>echo "Removing downloaded IP databases"<br />
rm delegated-arin-$thedate<br />
rm delegated-apnic-$thedate<br />
rm delegated-lacnic-$thedate<br />
rm delegated-ripencc-$thedate</p>
<p>query1="CREATE DATABASE IF NOT EXISTS $database"<br />
query2="DROP TABLE IF EXISTS tblips2;"<br />
query3="CREATE TABLE tblips2 (ID int(5) unsigned NOT NULL auto_increment,NIC varchar(7) default NULL,Country char(2) default NULL,StartIPreal varchar(15) default NULL,StartIPint int(20) unsigned default NULL,Subnetreal varchar(15) default NULL,Subnetint int(20) unsigned default NULL,EndIPreal varchar(15) default NULL,EndIPint int(20) unsigned default NULL,PRIMARY KEY  (ID)) TYPE=MyISAM;"<br />
query4="LOAD DATA LOCAL INFILE '$savfile' INTO TABLE $database.tblips2 FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n' (NIC,Country,StartIPreal,Subnetint);"<br />
query5="DROP TABLE IF EXISTS tblips;"<br />
query6="CREATE TABLE tblips (ID int(5) unsigned NOT NULL auto_increment,NIC varchar(7) default NULL,Country char(2) default NULL,StartIPreal varchar(15) default NULL,StartIPint int(20) unsigned default NULL,Subnetreal varchar(15) default NULL,Subnetint int(20) unsigned default NULL,EndIPreal varchar(15) default NULL,EndIPint int(20) unsigned default NULL,PRIMARY KEY  (ID)) TYPE=MyISAM;"<br />
query7="INSERT INTO tblips (NIC,Country,StartIPReal,StartIPInt,SubnetReal,SubnetInt,EndIPInt,EndIPReal) SELECT tblips2.NIC,tblips2.Country,tblips2.StartIPReal,inet_aton(tblips2.StartIPReal) as StartIPInt,inet_ntoa(tblips2.SubnetInt) as SubnetReal,tblips2.SubnetInt,inet_aton(tblips2.StartIPReal)+tblips2.SubnetInt as EndIPInt,inet_ntoa(inet_aton(tblips2.StartIPReal)+tblips2.SubnetInt) as EndIPReal FROM tblips2;"<br />
query8="DROP TABLE IF EXISTS tblips2;"</p>
<p>echo "Importing IP databases to MySql"</p>
<p>echo "MySql Query 1"<br />
mysql --host=$dbserver $dbuserpass -e "$query1"<br />
echo "MySql Query 2"<br />
mysql --host=$dbserver $dbuserpass $database -e "$query2"<br />
echo "MySql Query 3"<br />
mysql --host=$dbserver $dbuserpass $database -e "$query3"<br />
echo "MySql Query 4"<br />
mysql --host=$dbserver $dbuserpass $database -e "$query4"<br />
echo "MySql Query 5"<br />
mysql --host=$dbserver $dbuserpass $database -e "$query5"<br />
echo "MySql Query 6"<br />
mysql --host=$dbserver $dbuserpass $database -e "$query6"<br />
echo "MySql Query 7"<br />
mysql --host=$dbserver $dbuserpass $database -e "$query7"<br />
echo "MySql Query 8"<br />
mysql --host=$dbserver $dbuserpass $database -e "$query8"</p>
<p>rm $savfile</p>
<p>echo "Process completed"<br />
[/code]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nott.org/blog/ip-2-country.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Firefox Extensions</title>
		<link>http://www.nott.org/blog/my-firefox-extensions.html</link>
		<comments>http://www.nott.org/blog/my-firefox-extensions.html#comments</comments>
		<pubDate>Fri, 02 Dec 2005 12:05:23 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Web/Net]]></category>

		<guid isPermaLink="false">http://www.nott.org/?p=24</guid>
		<description><![CDATA[No YATB would be complete without a list of their Firefox Extensions, so here&#8217;s mine together with their links + own description: Html Validator 0.7.1 Adds HTML validation to the View Page Source of the briwser. The validation is done by Tidy, originally developed by W3C. SearchStatus 1.8 Display the Google PageRank and Alexa ranking [...]]]></description>
			<content:encoded><![CDATA[<p>No <a href="http://performancing.com/node/322">YATB</a> would be complete without a list of their <a href="http://www.mozilla.com/firefox/">Firefox</a> <a href="https://addons.mozilla.org/extensions/?application=firefox">Extensions</a>, so here&#8217;s mine together with their links + own description:</p>
<p><a href="http://users.skynet.be/mgueury/mozilla/">Html Validator</a> 0.7.1<br />
Adds HTML validation to the View Page Source of the briwser. The validation is done by Tidy, originally developed by W3C.</p>
<p><a href="http://www.quirk.co.za/searchstatus/">SearchStatus</a> 1.8<br />
Display the Google PageRank and Alexa ranking with search-related tools.</p>
<p><a href="http://ietab.mozdev.org/">IE Tab</a> 1.0.6<br />
Open-IE-only pages in &#8220;embedded IE&#8221; !!!</p>
<p><a href="http://chrispederick.com/work/webdeveloper/">Web Developer</a> 0.9.4<br />
Adds a menu and a toolbar with various web developer tools.</p>
<p><a href="http://seopen.com/firefox-extension/index.php">SEOpen</a> 0.6<br />
Provides some basic tools to help with search engine optimization.</p>
<p><a href="http://lori.mozdev.org/">lori (Life-of-request info)</a> 0.1.0.20050201<br />
For tracking the life of a request</p>
<p><a href="http://chrispederick.com/work/useragentswitcher/">User Agent Switcher</a> 0.6.7<br />
Adds a menu and a toolbar button to switch the user agent of the browser.</p>
<p><a href="http://www.customizegoogle.com/">CustomizeGoogle</a> 0.39<br />
Enhance Google search results and remove ads and spam.</p>
<p><a href="http://greasemonkey.mozdev.org/">Greasemonkey</a> 0.5.3<br />
A User Script Manager for Firefox</p>
<p><a href="http://www.rabotat.org/firefox/">PDF Download</a> 0.5.1.1<br />
Allows to choose whether you want to view a PDF file inside the browser (as PDF or HTML) or download it.</p>
<p><a href="http://l4x.org/showip">ShowIP</a> 0.7.11<br />
Show the IP address of the current page in the status bar.</p>
<p><a href="http://jennifermadden.com/">View Rendered Source Chart</a> 1.3<br />
Creates a Colorful Chart of a Webpage&#8217;s Rendered Source</p>
<p><a href="http://www.kevinfreitas.net/extensions/linkchecker/">Link Checker</a> 0.4.5<br />
Checks all links on current page for breaks.</p>
<p><a href="http://www.roundtwo.com/product/copyplaintext">Copy Plain Text</a> 0.3.1<br />
Copies text without formatting</p>
<p><a href="http://tecwizards.de/mozilla/">Paste and Go</a> 0.4.3<br />
Lets you paste an URL from the clipboard and directly load it.</p>
<p><a href="http://piro.sakura.ne.jp/xul/_popupalt.html.en">Popup ALT Attribute</a> 1.3.2005092701<br />
Popups alternative texts of images.</p>
<p><a href="http://livehttpheaders.mozdev.org/">Live HTTP Headers</a> 0.10<br />
View HTTP headers of a page and while browsing.</p>
<p><a href="http://www.roundtwo.com/product/stockticker">StockTicker</a> 1.0.2<br />
Shows your favorite stocks in a customized ticker.</p>
<p><a href="http://www.roundtwo.com/product/switchproxy">SwitchProxy Tool</a> 1.3.2<br />
A tool that allows you to manage and switch between multiple proxy configurations quickly.</p>
<p><a href="http://roachfiend.com/archives/2005/02/07/bugmenot/">BugMeNot</a> 0.8<br />
Bypass compulsory web registration with the context menu via <a href="http://www.bugmenot.com">www.bugmenot.com</a>.</p>
<p><a href="http://www.webmasterbrain.com/seo-tools/firefox-extensions/seo-links/">SEO Links</a> 1.0<br />
Tooltip enhancement showing link-popularity and rankings ofhovered links.</p>
<p><a href="http://flashblock.mozdev.org/">Flashblock</a> 1.3.2<br />
Replaces Flash objects with a button you can click to view them.</p>
<p><a href="http://www.saverpluslighting.com/bulbs/regexpviewer.php">RegExpViewer</a> 2005.08.28<br />
Enter regular expression and see results highlighted on your test data.</p>
<p><a href="http://www.iosart.com/firefox/colorzilla/">ColorZilla</a> 0.82<br />
Advanced Eyedropper, ColorPicker, Page Zoomer and other colourful goodies.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nott.org/blog/my-firefox-extensions.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

