<?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-6638464394847113141</id><updated>2012-01-20T03:44:36.297-08:00</updated><category term='pictures'/><category term='photography'/><category term='lightbox'/><category term='slideshow'/><category term='morethanpictures'/><title type='text'>TJSoft developments</title><subtitle type='html'>A small history of my web development exploits</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tjsoft.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Tim Soane</name><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>36</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-5921209136613802221</id><published>2012-01-20T03:10:00.000-08:00</published><updated>2012-01-20T03:44:36.305-08:00</updated><title type='text'>Form submission with alert/confirm</title><content type='html'>This has been a perennial issue for me.  I'd have a form with multiple submit buttons; and on one or more - &lt;b&gt;but not all&lt;/b&gt; - of the submit buttons I would want a confirm dialogue.  'Save' or 'Amend' might go straight through but 'Delete' would be intercepted for a confirmation.  I used to put a section in the form response page setting up another form with a confirm button.  But I think I have found a more elegant solution, below (though it does rely on JavaScript being enabled).&lt;br /&gt;&lt;br /&gt;In the form add a hidden field and submit button as follows:&lt;br /&gt;&lt;blockquote&gt;&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;confirm_delete&amp;quot; id=&amp;quot;confirm_delete&amp;quot; value=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;input type=&amp;quot;submit&amp;quot; name=&amp;quot;delete&amp;quot; value=&amp;quot;Delete&amp;quot; onClick=&amp;quot;confirmDelete(this.form);&amp;quot; /&amp;gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Add a JavaScript function like this:&lt;br /&gt;&lt;blockquote&gt;function confirmDelete(form) {&lt;br /&gt; var answer = confirm("Are you sure you want to deleted this?");&lt;br /&gt; if (answer == true) {&lt;br /&gt;  form.confirm_delete.value = 1;&lt;br /&gt;  form.submit();&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;Then you can handle the confirmed deleition by testing the hidden field&lt;br /&gt;&lt;blockquote&gt;if($_POST['confirm_delete'] == 1){&lt;br /&gt; // do whatever needs doing &lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-5921209136613802221?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/5921209136613802221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/5921209136613802221'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2012/01/form-submission-with-alertconfirm.html' title='Form submission with alert/confirm'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-3546316126973887858</id><published>2011-12-19T06:19:00.000-08:00</published><updated>2011-12-19T06:24:02.477-08:00</updated><title type='text'>SEO advice</title><content type='html'>Gave some today that is worth capturing:&lt;br /&gt;&lt;br /&gt;Use title and description meta-tags, ideally varied page by page.  Google has an issue with multiple use of the same text for some reason.&lt;br /&gt;  &lt;br /&gt;Google ignores the 'keywords' meta tag but other search engines pay it some attention so it is worth keeping.  &lt;br /&gt;&lt;br /&gt;A good 'description' meta-tag is essential.&lt;br /&gt;&lt;br /&gt;Also title could be a bit longer (up to 65 characters including spaces)&lt;br /&gt;&lt;br /&gt;Get as many people as you can to link to you from blogs, other websites, articles and so on.&lt;br /&gt;&lt;br /&gt;Let's see if that elevates &lt;a href='http://www.c-a-mayer-memorial.org.uk/'&gt;c-a-mayer-memorial.org.uk&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-3546316126973887858?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/3546316126973887858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/3546316126973887858'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2011/12/seo-advice.html' title='SEO advice'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-8129272321018416899</id><published>2011-12-03T22:48:00.000-08:00</published><updated>2011-12-03T22:58:58.363-08:00</updated><title type='text'>Yesterday's outage</title><content type='html'>Apologies to anyone inconvenienced by last night's short outage.  GoDaddy said they had a communications issue with a number of servers so I am relieved that it was not a user error or a DOS attack.  In all it lasted less than ah hour I think.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-8129272321018416899?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/8129272321018416899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/8129272321018416899'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2011/12/outage.html' title='Yesterday&apos;s outage'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-8022798508458351760</id><published>2011-11-30T17:00:00.000-08:00</published><updated>2011-12-03T22:45:37.062-08:00</updated><title type='text'>Lysandra Press now live</title><content type='html'>Today we launch the site of a new ebook publisher, &lt;a href='http://lysandrapress.com'&gt;lysandrapress.com&lt;/a&gt;.  Please go have a look and buy some books...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-8022798508458351760?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/8022798508458351760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/8022798508458351760'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2011/11/lysandra-press-now-live.html' title='Lysandra Press now live'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-8106745010742567312</id><published>2011-11-03T22:50:00.000-07:00</published><updated>2011-12-03T22:52:36.920-08:00</updated><title type='text'>Ajax</title><content type='html'>How brilliant is this.  I cannot believe I have not found this solution before.  I have so many pages that depend on a user input to connect the client and server sides of a site, not Ajax can do all of that for them, so fewer clicks.  Now to remember where they were and go upgrade them...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-8106745010742567312?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/8106745010742567312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/8106745010742567312'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2011/11/ajax.html' title='Ajax'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-1584030285630807003</id><published>2011-09-30T14:39:00.000-07:00</published><updated>2011-12-03T22:37:58.319-08:00</updated><title type='text'>cPanel</title><content type='html'>With some trepidation I am moving my server and control panel.  So Bye-bye Arizona and Plesk and Hello Europe (still not sure where GoDaddy's base is!) and cPanel.  No doubt there will be teething troubles, but Plesk has never been that friendly to me and the newer fancier server will assist now that I am hosting more sites and more particularly for paying customers/partners.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-1584030285630807003?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/1584030285630807003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/1584030285630807003'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2011/09/cpanel.html' title='cPanel'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-8887483711573079893</id><published>2011-08-05T21:05:00.000-07:00</published><updated>2011-12-03T22:46:34.138-08:00</updated><title type='text'>New client</title><content type='html'>Today saw the first steps towards building a new site for Portsmere, with the purchase of the domain name &lt;a href='http://portsmere.com'&gt;portsmere.com&lt;/a&gt;.  Now to make a great site for them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-8887483711573079893?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/8887483711573079893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/8887483711573079893'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2011/08/new-client.html' title='New client'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-9072332271096898650</id><published>2011-03-03T08:22:00.000-08:00</published><updated>2011-12-03T22:48:04.361-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='morethanpictures'/><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='lightbox'/><category scheme='http://www.blogger.com/atom/ns#' term='slideshow'/><category scheme='http://www.blogger.com/atom/ns#' term='pictures'/><title type='text'>Morethanpictures.co.uk</title><content type='html'>Is now live.  I am rather pleased with it; but, more important, so is the client.  I had fun working with images in a bit more depth and applying dynamic drive's Ultimate Fade-in Slideshow and Lightbox 2.  &lt;a href='http://morethanpictures.co.uk'&gt;See it here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-9072332271096898650?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/9072332271096898650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/9072332271096898650'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2011/03/morethanpicturescouk.html' title='Morethanpictures.co.uk'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-4263214326644781919</id><published>2010-07-28T08:41:00.001-07:00</published><updated>2010-07-28T09:25:50.856-07:00</updated><title type='text'>Secure MySQL connection on Godaddy virtual dedicated server</title><content type='html'>&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;The Godaddy instructions on this are pretty hard to find and the default settings for open_basedir and directory permissions make it hard to do; so here is what I have done that works.  You will need to be using SSH and your control panel (I use Plesk, but I doubt this is much different with cPanel and others). &lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;The key security point is that your access codes to your MySQL database really should not be in your httpdocs directory.  That is accessible to the world and although it is hard to grab the information from a .php file, it is not impossible.  If the file sits above the httpdocs folder, it cannot be seen from the web.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;So using SSH create a folder (one per domain, but if you use only one database for a number of sites it could be one for all) called mysql with &lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;div&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;mkdir mysql &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;then still in SSH change the ownership to the normal owner of the domain with&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;chown [user] mysql&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Now open up the conf directory to the same user with &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;chown [user] conf&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Go to your control panel and create these two files&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;1. a file in conf called vhost.conf (content below) and &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;2. a file in mysql called mysql.php (content below)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Finally, either in SSH Restart the server with  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;/usr/local/psa/admin/bin/websrvmng -a -v&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;or you can do it from control panel.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;content of vhost.conf (where x is the domain)&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&amp;lt;directory /var/www/vhosts/x/httpdocs&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;directory&gt;&lt;/directory&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;php_admin_value open_basedir "/var/www/vhosts/x/httpdocs:/tmp:/var/www/vhosts/x/mysql:"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&amp;lt;/directory&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;content of mysql.php&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&amp;lt;?php&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;/*&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;THIS IS THE MASTER DATABASE CONNECTION FILE  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;IT SHOULD BE STORED ABOVE THE ROOT DIRECTORY IN MYSQL&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;AND SHOULD BE USED FOR ALL MYSQL CONNECTIONS &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;*/&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;mysql_connect("localhost", "[username]", "[password]") or die (mysql_error());&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;mysql_select_db("[database_name]") or die(mysql_error()); &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;To connect to the database add this in the relevant php scripts&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;include '/var/www/vhosts/[domain]/mysql/mysql.php';&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Hope that helps someone save the time it took me to work it out...&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-4263214326644781919?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/4263214326644781919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/4263214326644781919'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2010/07/secure-mysql-connection-on-godaddy.html' title='Secure MySQL connection on Godaddy virtual dedicated server'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-3129128214100505127</id><published>2010-03-27T00:45:00.001-07:00</published><updated>2010-03-27T00:54:56.524-07:00</updated><title type='text'>Tjsoft.info revamp</title><content type='html'>Started a major rewrite of this site using a lot more CSS and fewer tables.  Still a lot to do but the base is now there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-3129128214100505127?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/3129128214100505127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/3129128214100505127'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2010/03/tjsoftinfo-revamp.html' title='Tjsoft.info revamp'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-7021313512966164274</id><published>2010-03-27T00:37:00.000-07:00</published><updated>2010-03-27T02:00:58.965-07:00</updated><title type='text'>Server upgrades</title><content type='html'>&lt;div&gt;Latest server configuration:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;httpd&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;2.2.8-1.fc7&lt;/li&gt;&lt;li&gt;mailman&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;2.1.9-5.3&lt;/li&gt;&lt;li&gt;mod_perl&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;2.0.3-9.1.fc7&lt;/li&gt;&lt;li&gt;mod_python&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;3.3.1-3&lt;/li&gt;&lt;li&gt;mysql&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;5.0.45-6.fc7&lt;/li&gt;&lt;li&gt;perl-Apache-ASP&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;2.59-0.93298&lt;/li&gt;&lt;li&gt;php&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;5.2.6-2.fc7&lt;/li&gt;&lt;li&gt;plesk 9.3.0&lt;/li&gt;&lt;li&gt;postgresql-server&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;8.2.9-1.fc7&lt;/li&gt;&lt;li&gt;ruby&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;1.8.6.114-1.fc7&lt;/li&gt;&lt;li&gt;samba&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;3.0.28a-1.fc7&lt;/li&gt;&lt;li&gt;spamassassin&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;3.2.4-1.fc7&lt;/li&gt;&lt;li&gt;SSHTerm&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;0.2.2-9.278624&lt;/li&gt;&lt;li&gt;tomcat&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;5.5.26-1jpp.2.fc7&lt;/li&gt;&lt;li&gt;webalizer&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;2.01_10-32&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-7021313512966164274?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/7021313512966164274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/7021313512966164274'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2010/03/plesk-upgrade.html' title='Server upgrades'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-3844302967709418210</id><published>2010-03-21T00:54:00.000-07:00</published><updated>2010-03-27T01:00:46.352-07:00</updated><title type='text'>IE non-compliance</title><content type='html'>Right, that's it.  I am no longer going to support IE as a suitable browser for my sites.  Microsoft's continuing lack of acceptance of internationally agreed standards makes the developer's life a misery and, while it may be cool to know all the little work-arounds needed to make your site work, just, with IE, why should we?  There are much better browsers that do accept the agreed standards that work, are free, are faster, more secure - need I go on.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So I have developed a little code to spot IE users and give them a warning.  They can accept the limitations of IE or switch browser.  I rather like it and think all web developers should follow suit...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-3844302967709418210?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/3844302967709418210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/3844302967709418210'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2010/03/ie-non-compliance.html' title='IE non-compliance'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-7781339173316490812</id><published>2009-10-04T23:20:00.000-07:00</published><updated>2010-03-27T00:54:07.769-07:00</updated><title type='text'>Upgrade to PHP5</title><content type='html'>I decided to upgrade to the latest version of MyGedView, which has some nice features over the previous version, and to do this I needed PHP5.  This in turn meant a server rebuild to Fedora Core 7, so basically I had to start from scratch.  The server is now re-built and running sweetly, but I am still part way through restoring all the previous material/sites.  It is a good way of giving the server a good spring clean!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-7781339173316490812?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/7781339173316490812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/7781339173316490812'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2009/10/upgrade-to-php52.html' title='Upgrade to PHP5'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-8550264863671564422</id><published>2008-02-12T22:42:00.000-08:00</published><updated>2009-10-16T23:28:43.688-07:00</updated><title type='text'>crontab tips on GoDaddy</title><content type='html'>This was nowhere in the GoDaddy documentation so, I though I would share a working solution.&lt;br /&gt;&lt;br /&gt;The objective was to create a single php script which a set of scheduled crontab tasks could execute from my GoDaddy virtual dedicated server.  I wanted something that ran hourly, daily, weekly and monthly.&lt;br /&gt;&lt;br /&gt;The steps I used were:&lt;br /&gt;&lt;br /&gt;1. Create your script in the normal way.  The key element is the $_SERVER['argv']['1'] variable, which is passed from the crontab line.  You could pass more than one.  The second would be $_SERVER['argv']['2'].  You might add this for a checksum to prevent the script running if the search engines find it.  I then used the first variable in a switch group to establish the start and end date for a MySQL query that runs later.  So:&lt;br /&gt;&lt;br /&gt;switch ($_SERVER['argv']['1']) {&lt;br /&gt;&lt;br /&gt;   case "hourly": // RUNS AT *:00&lt;br /&gt;       $d2 = date("Y-m-d H",time()).":00:00";&lt;br /&gt;       $d1 = date("Y-m-d H",strtotime($d2) - 3600).":00:00";&lt;br /&gt;       $num = 1;&lt;br /&gt;       break;&lt;br /&gt;&lt;br /&gt;   case "daily": // RUNS AT 00:20&lt;br /&gt;       $d2 = date("Y-m-d",time() - 24 * 3600);&lt;br /&gt;       $d1 = date("Y-m-d",strtotime($d2) - 24 * 3600);&lt;br /&gt;       $num = 2;&lt;br /&gt;       break;&lt;br /&gt;&lt;br /&gt;   case "weekly": // RUNS AT 00:40&lt;br /&gt;       $d2 = date("Y-m-d",time() - 24 * 3600);&lt;br /&gt;       $d1 = date("Y-m-d",strtotime($d2) - 7 * 24 * 3600);&lt;br /&gt;       $num = 3;&lt;br /&gt;       break;&lt;br /&gt;&lt;br /&gt;   case "monthly": // RUNS AT 01:00&lt;br /&gt;       $d2 = date("Y-m-d",time() - 24 * 3600);&lt;br /&gt;       $d1 = date("Y-m-d",strtotime($d2) - 24 * 3600 * 365.25 / 12);&lt;br /&gt;       $num = 4;&lt;br /&gt;       break;&lt;br /&gt;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;           $query2 = "SELECT *&lt;br /&gt;               FROM `".$type[$j]."`&lt;br /&gt;               WHERE DATE(`".$col[$j]."`) &gt; '".$d1."'&lt;br /&gt;               AND DATE(`".$col[$j]."`) &lt;= '".$d2."'";&lt;br /&gt;&lt;br /&gt;2.     Chmod this file to 'rwx r-x r-x' to allow it to be executed by the server.&lt;br /&gt;&lt;br /&gt;3.    Add a scheduled task like this:&lt;br /&gt;&lt;br /&gt;10 0 * * * /usr/bin/php  /var/www/vhosts/yourdomain/httpdocs/cron/alerts.php hourly&lt;br /&gt;20 0 * * * /usr/bin/php /var/www/vhosts/yourdomain/httpdocs/cron/alerts.php daily&lt;br /&gt;30 0 * * 1 /usr/bin/php /var/www/vhosts/yourdomain/httpdocs/cron/alerts.php weekly&lt;br /&gt;40 1 1 * * /usr/bin/php /var/www/vhosts/yourdomain/httpdocs/cron/alerts.php monthly&lt;br /&gt;&lt;br /&gt;I have the file in a directory called cron, but you can put it where you like.&lt;br /&gt;&lt;br /&gt;Any HTML output your script creates will then be sent to the email address set in the preferences tab where you set up scheduled tasks.  This is for error reporting so make your script produce no HTML if it is working fine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-8550264863671564422?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/8550264863671564422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/8550264863671564422'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2008/02/crontab-tips-on-godaddy.html' title='crontab tips on GoDaddy'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-3400495796185323348</id><published>2007-11-17T10:44:00.000-08:00</published><updated>2007-11-17T10:47:15.915-08:00</updated><title type='text'>Server migration complete for garfagnana-food and soane.net</title><content type='html'>I have closed the old server.  Some, non-active, sites still need to be loaded on the new server, but I took the decision to complete the move as an incentive to get everything in order.  All the domain routing now works, but some of the sites have to be loaded.  I am gradually working my way through them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-3400495796185323348?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/3400495796185323348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/3400495796185323348'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2007/11/server-migration-complete-for.html' title='Server migration complete for garfagnana-food and soane.net'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-4924981188199924496</id><published>2007-10-30T23:35:00.000-07:00</published><updated>2007-10-30T23:49:22.490-07:00</updated><title type='text'>Server migration</title><content type='html'>I have taken the plunge and started the migration to a new GoDaddy server (&lt;a href="http://72.167.97.186/"&gt;http://72.167.97.186/&lt;/a&gt;).    New details:&lt;br /&gt;        CPU    GenuineIntel, Intel(R) Xeon(R)CPU 5148 @ 2.33GHz&lt;br /&gt;        Operating system    Linux 2.6.9-023stab044.4-smp&lt;br /&gt;        Plesk version 8.2.1_build82070918.10 os_FedoraCore 6&lt;br /&gt;&lt;br /&gt;I was forever running out of memory on the old one and this will give me more speed and a supported Fedora operating system (Core 6).  Also added Plesk 8.2.1,  which will give me a bit more functionality over domain hosting, etc.&lt;br /&gt;&lt;br /&gt;Transferred my parked domains yesterday.&lt;br /&gt;&lt;br /&gt;Will move the active sites over the w/e probably, before closing the old one.  Meanwhile all should be as was on the old server.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now I just need to get to grips with Plesk...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-4924981188199924496?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/4924981188199924496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/4924981188199924496'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2007/10/new-server.html' title='Server migration'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-3927716409395962572</id><published>2007-08-17T05:02:00.000-07:00</published><updated>2007-10-25T05:35:46.574-07:00</updated><title type='text'>Gallery2 added to soane.net</title><content type='html'>Great piece of free kit this, which enables you to publish your own photos.  &lt;a href="http://gallery.menalto.com/"&gt;LINK&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-3927716409395962572?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/3927716409395962572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/3927716409395962572'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2007/03/gallery2-added-to-soanenet.html' title='Gallery2 added to soane.net'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-5791678706289468085</id><published>2007-05-25T06:36:00.000-07:00</published><updated>2007-10-25T06:39:17.925-07:00</updated><title type='text'>OverLIB incorporated into garfagnana-food</title><content type='html'>Another great freeware product, thanks to Erik Bosrup.  &lt;a href="http://www.bosrup.com/web/overlib/"&gt;LINK&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-5791678706289468085?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/5791678706289468085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/5791678706289468085'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2007/05/overlib-incorporated-into-garfagnana.html' title='OverLIB incorporated into garfagnana-food'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-4641028911911080837</id><published>2007-03-21T04:05:00.000-07:00</published><updated>2007-10-25T04:40:25.065-07:00</updated><title type='text'>Google maps integrated into garfagnana-food</title><content type='html'>What a brilliant application this is.  Just could not resist integrating it into the site.  It slows the whole thing down a lot though so I have put it a bit more in the background now.  &lt;a href="http://maps.google.com/"&gt;LINK&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-4641028911911080837?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/4641028911911080837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/4641028911911080837'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2006/06/google-maps-integrated-into-garfagnana.html' title='Google maps integrated into garfagnana-food'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-7722994559437949001</id><published>2007-03-17T05:36:00.000-07:00</published><updated>2007-10-25T05:38:45.129-07:00</updated><title type='text'>Soane.net redesigned</title><content type='html'>A full make-over to simplify and smarten up what had become a bit of a mess.  Hope you like it...  &lt;a href="http://WWW.SOANE.NET"&gt;LINK&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-7722994559437949001?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/7722994559437949001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/7722994559437949001'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2007/03/soanenet-redesigned.html' title='Soane.net redesigned'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-3942450209680303033</id><published>2007-03-12T03:29:00.000-07:00</published><updated>2007-10-25T06:08:03.566-07:00</updated><title type='text'>Switched host to GoDaddy virtual dedicated server</title><content type='html'>Finding shared hosting a bit too constrained and in particular preventing me from providing a service that a client particularly wanted, I took the plunge and bought GoDaddy's virtual dedicated server.  So now I have 10GB of a linux box in Scottsdate Arizona, running &lt;span id="ctl00_ContentPlaceHolder1_ctl00_lblOS"&gt;Red Hat Fedora Core 4&lt;/span&gt;, Apache 2.0.13, PHP 5.0.4, MySQL 4.1.20.  &lt;a href="http://www.godaddy.com/"&gt;LINK&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-3942450209680303033?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/3942450209680303033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/3942450209680303033'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2007/03/switched-host-to-godaddy-virtual.html' title='Switched host to GoDaddy virtual dedicated server'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-5666082267310923746</id><published>2006-10-22T02:51:00.000-07:00</published><updated>2007-10-25T04:30:56.711-07:00</updated><title type='text'>Started development of garfagnana-food.com</title><content type='html'>This is a good food guide for the Garfagnana region of Tuscany.  I could never remember what was available, when it was open and I found myself not trying different places as a result.  So the idea was selfish, but I thought it might have wider benefits.  Still developing, though the basics work. &lt;a href="http://www.garfagnana-food.com/"&gt;LINK&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-5666082267310923746?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/5666082267310923746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/5666082267310923746'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2006/10/designed-and-implemented-wwwgarfagnana.html' title='Started development of garfagnana-food.com'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-1277375111175483507</id><published>2006-10-08T03:59:00.000-07:00</published><updated>2007-10-25T04:21:28.712-07:00</updated><title type='text'>Shared hosting by GoDaddy</title><content type='html'>CWH unable to offer the flexibility I was looking for on sub-domains, I bought some shared linux capacity with GoDaddy.  So far so good.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-1277375111175483507?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/1277375111175483507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/1277375111175483507'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2005/10/shared-hosting-by-godaddy.html' title='Shared hosting by GoDaddy'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-5652345350535176111</id><published>2006-01-28T04:58:00.000-08:00</published><updated>2007-10-25T05:00:05.018-07:00</updated><title type='text'>Club-host basic launched</title><content type='html'>Prompted by an enquiry from a club, I developed a "out of the box" or "plain vanilla" starter site for clubs looking for a really cheap entry into the www with no programming or HTML skills needed.  The terms can be found on club-host.com.  &lt;a href="http://WWW.CLUB-HOST.COM"&gt;LINK&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-5652345350535176111?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/5652345350535176111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/5652345350535176111'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2006/01/club-host-basic-launched.html' title='Club-host basic launched'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-5064059915710940584</id><published>2006-01-02T03:03:00.000-08:00</published><updated>2007-10-25T03:13:14.077-07:00</updated><title type='text'>Designed and implemented sew-linda.xnet.cc</title><content type='html'>This was a commission for my sister-in-law who makes brilliant curtains and furnishings and wanted to start a business. &lt;a href="http://sew-linda.xnet.cc/"&gt;LINK&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-5064059915710940584?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/5064059915710940584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/5064059915710940584'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2006/01/designed-and-implemented-sewlindaxnetcc.html' title='Designed and implemented sew-linda.xnet.cc'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-6697080480114692720</id><published>2005-11-13T02:41:00.000-08:00</published><updated>2007-10-25T03:13:57.359-07:00</updated><title type='text'>Designed and implemented juniorpenguins.club-host.com</title><content type='html'>This was a clone of the main penguins site but for the junior section.   Having built it, there was not much interest and it really never took off. &lt;a href="http://JUNIORPENGUINS.CLUB-HOST.COM"&gt;LINK&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-6697080480114692720?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/6697080480114692720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/6697080480114692720'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2005/11/designed-and-implemented.html' title='Designed and implemented juniorpenguins.club-host.com'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-5378939639421290690</id><published>2005-08-10T03:09:00.000-07:00</published><updated>2007-10-25T03:14:37.067-07:00</updated><title type='text'>Purchased xnet.cc</title><content type='html'>I was having trouble with an extranet application and decided to have a go at fixing it myself using this domain.  &lt;a href="http://XNET.CC"&gt;LINK&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-5378939639421290690?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/5378939639421290690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/5378939639421290690'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2005/08/purchased-xnetcc.html' title='Purchased xnet.cc'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-4769435227678533867</id><published>2004-10-25T02:54:00.000-07:00</published><updated>2007-10-25T06:08:43.856-07:00</updated><title type='text'>Designed and implemented mailer.club-host.com</title><content type='html'>This was a specific application to allow clubs and societies to communicate more easily by email, giving the user the choice over what to receive when and taking the maintenance chore out of mail lists (a problem I had constantly at Wandsworth Swimming Club).  &lt;a href="http://mailer.club-host.com/"&gt;LINK&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-4769435227678533867?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/4769435227678533867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/4769435227678533867'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2004/10/designed-and-implemented-mailerclub.html' title='Designed and implemented mailer.club-host.com'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-4296675161503668418</id><published>2004-04-08T02:47:00.000-07:00</published><updated>2007-10-25T03:15:29.921-07:00</updated><title type='text'>Designed and built club-host.com</title><content type='html'>The idea here was to help clubs and societies to join the 'information age' with the expertise I had developed with Wandsworth Swimming Club's web site.  &lt;a href="http://www.club-host.com"&gt;LINK&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-4296675161503668418?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/4296675161503668418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/4296675161503668418'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2004/04/designed-and-built-wwwclub-hostcom.html' title='Designed and built club-host.com'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-2480586757326160536</id><published>2003-08-12T03:56:00.000-07:00</published><updated>2007-10-25T04:38:31.555-07:00</updated><title type='text'>Hosting by Christian Web Host</title><content type='html'>Bought a linux shared server package with CWH.  Absolutely delighted with the support and service.  &lt;a href="http://www.christianwebhost.com/"&gt;LINK&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-2480586757326160536?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/2480586757326160536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/2480586757326160536'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2003/08/hosting-by-christian-web-host.html' title='Hosting by Christian Web Host'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-194073673198738646</id><published>2003-08-10T04:32:00.000-07:00</published><updated>2007-10-25T04:35:03.418-07:00</updated><title type='text'>Bought workster.org and workster.info</title><content type='html'>Confidential project still under consideration.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-194073673198738646?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/194073673198738646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/194073673198738646'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2003/08/bought-worksterorg-and-worksterinfo.html' title='Bought workster.org and workster.info'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-8158282543213855205</id><published>2003-05-23T05:49:00.000-07:00</published><updated>2007-10-25T05:51:57.285-07:00</updated><title type='text'>Re-design of wandsworthsc.com</title><content type='html'>Complete makeover of the site, moving away from frames (on the advice of a fellow developer), loads more material added, easier to follow hierarchy, etc&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-8158282543213855205?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/8158282543213855205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/8158282543213855205'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2003/05/re-design-of-wandsworthsccom.html' title='Re-design of wandsworthsc.com'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-8068638853550555193</id><published>2002-01-01T04:43:00.000-08:00</published><updated>2007-10-25T04:44:43.000-07:00</updated><title type='text'>WSC site refreshed</title><content type='html'>Wandsworth Swimming Club's site, which I run, has had a make-over. Using Frontpage 2002, I have added new menus and easier navigation, plus a new look and feel.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-8068638853550555193?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/8068638853550555193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/8068638853550555193'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2002/01/wsc-site-refreshed.html' title='WSC site refreshed'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-1775338896468949763</id><published>2000-10-28T02:00:00.000-07:00</published><updated>2007-10-25T03:17:47.959-07:00</updated><title type='text'>Purchased thesoanes.com</title><content type='html'>There was a time when it was fashionable to have a .com domain name and there were rumours of them running out.  I bought this domain so as to jump on that bandwagon.  I let it lapse because it was serving no purpose at one point, only to discover an important email had gone to it and I had missed it.  So I bought it again so no others went astray.  &lt;a href="http://www.thesoanes.com/"&gt;LINK&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-1775338896468949763?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/1775338896468949763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/1775338896468949763'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2000/10/purchased-thesoanescom.html' title='Purchased thesoanes.com'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-9173351417421157001</id><published>2000-06-17T02:27:00.000-07:00</published><updated>2007-10-25T06:03:04.069-07:00</updated><title type='text'>Desiged and implemented wandsworthsc.com</title><content type='html'>This was my son's swimming club at the time and I was membership secretary.  The web site (and some other promotion) grew the membership of the club from 100 to 300 (capacity) in a little more than a year.  Originally on a free virgin.net host, it was soon moved to its own domain and a shared host provided by easyspace.   &lt;a href="http://www.wandsworthsc.com/"&gt;LINK&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;NB In 2003 I handed it over to the current management of the club.  I therefore take no responsibility for the current design, even though the underlying design was mine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-9173351417421157001?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/9173351417421157001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/9173351417421157001'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2000/06/developed-wwwwandsworthsccom.html' title='Desiged and implemented wandsworthsc.com'/><author><name>Tim Soane</name><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></entry><entry><id>tag:blogger.com,1999:blog-6638464394847113141.post-7702837180355014255</id><published>2000-03-16T02:20:00.000-08:00</published><updated>2007-10-25T03:19:15.703-07:00</updated><title type='text'>Purchased soane.net</title><content type='html'>I wanted to have a short, meaningful, transferable email address for myself and others in my family.  Since soane.com was not available, I went for this.  &lt;a href="http://WWW.SOANE.NET"&gt;LINK&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6638464394847113141-7702837180355014255?l=tjsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/7702837180355014255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6638464394847113141/posts/default/7702837180355014255'/><link rel='alternate' type='text/html' href='http://tjsoft.blogspot.com/2007/10/purchased-wwwthesoanescom.html' title='Purchased soane.net'/><author><name>Tim Soane</name><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></entry></feed>
