<?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>Paul Maunders &#124; Web log</title>
	<atom:link href="http://www.pyrosoft.co.uk/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pyrosoft.co.uk/blog</link>
	<description>Economics, Business, Telecoms, Tech and Gadgets</description>
	<lastBuildDate>Thu, 25 Feb 2010 00:04:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0-alpha</generator>
		<item>
		<title>Maximum number of domain aliases with Google Apps Premier</title>
		<link>http://www.pyrosoft.co.uk/blog/2010/02/25/maximum-number-of-domain-aliases-with-google-apps-premier/</link>
		<comments>http://www.pyrosoft.co.uk/blog/2010/02/25/maximum-number-of-domain-aliases-with-google-apps-premier/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 00:04:53 +0000</pubDate>
		<dc:creator>Paul Maunders</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google apps]]></category>

		<guid isPermaLink="false">http://www.pyrosoft.co.uk/blog/?p=1055</guid>
		<description><![CDATA[We use Google Apps Premier to host Fubra&#8217;s e-mails, and on the whole I love it &#8211; I get a massively reduced level of spam into my inbox, and searching out old mails is incredibly fast. However, it does lack some of the flexibility of our old internal postfix based system, and this became apparent [...]]]></description>
			<content:encoded><![CDATA[<p>We use Google Apps Premier to host Fubra&#8217;s e-mails, and on the whole I love it &#8211; I get a massively reduced level of spam into my inbox, and searching out old mails is incredibly fast. However, it does lack some of the flexibility of our old internal postfix based system, and this became apparent today when I decided I wanted to host the inbound e-mail for all our 100+ websites on Google Apps as domain aliases to our primary domain.</p>
<p>It turns out that there is a limit to the number of domain aliases you can have. For our account, the limit seemed to be set at 20 domain aliases. After contacting Google, and asking them to raise it, I was told that the maximum number of domain aliases is tied to the maximum number of nicknames per user, which in our case was set to 30.</p>
<p>The more domain aliases you have, the less nicknames you can have, and vice versa. This makes sense as every nickname becomes a valid e-mail address for every domain alias. So if they allowed too many they&#8217;d quickly end up with a huge amount of potential e-mail addresses to manage.</p>
<p>The golden rule seems to be:</p>
<p><strong> Max Domain Aliases</strong> multiplied by the <strong>Max Nicknames Per User</strong> must not exceed <strong>600</strong></p>
<p>Therefore, you could have the following rations:</p>
<p>- 6 domain aliases and 100 nicknames per user<br />
- 10 domain aliases and 60 nicknames per user<br />
- 20 domain aliases and 30 nicknames per user<br />
- 30 domain aliases and 20 nicknames per user<br />
- 60 domain aliases and 10 nicknames per user<br />
- 100 domain aliases and 6 nicknames per user</p>
<p>Looking through our 26 user accounts, I could see that only 2 of them had more than 6 nicknames. Initially, I thought this would rule out an increase to 100 domain aliases &#8211; but it appears that groups can be used to achieve pretty much the same effect.</p>
<p>Some testing revealed that groupname@primarydomain.com also received e-mails to groupname@aliasdomain.com, and so works in a similar way to a nickname.</p>
<p>So my next task is to remove some of the nicknames and replace them with groups. I should then be able to increase the domain alias count and migrate the remaining domains across!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pyrosoft.co.uk/blog/2010/02/25/maximum-number-of-domain-aliases-with-google-apps-premier/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to set up iChat for Facebook</title>
		<link>http://www.pyrosoft.co.uk/blog/2010/02/10/how-to-set-up-ichat-for-facebook/</link>
		<comments>http://www.pyrosoft.co.uk/blog/2010/02/10/how-to-set-up-ichat-for-facebook/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 21:41:45 +0000</pubDate>
		<dc:creator>Paul Maunders</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[social networks]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[iChat]]></category>

		<guid isPermaLink="false">http://www.pyrosoft.co.uk/blog/?p=1046</guid>
		<description><![CDATA[Tonight it was announced that Facebook chat now supports XMPP (also known as Jabber). This means that it will work with a host of chat clients, including my personal favourite iChat.
To get it working with iChat you simply follow these steps:

Navigate to iChat &#62; Preferences &#62; Accounts
Click the plus icon in the bottom left hand [...]]]></description>
			<content:encoded><![CDATA[<p>Tonight it was announced that <a href="http://blog.facebook.com/blog.php?post=297991732130">Facebook chat now supports XMPP</a> (also known as Jabber). This means that it will work with a host of chat clients, including my personal favourite iChat.</p>
<p>To get it working with iChat you simply follow these steps:</p>
<ol>
<li>Navigate to iChat &gt; Preferences &gt; Accounts</li>
<li>Click the plus icon in the bottom left hand corner, to add a new account</li>
<li>Select Jabber as the Account Type</li>
<li>Enter username@chat.facebook.com in the Account Name (where username is your facebook username).</li>
<li>Enter your facebook password in the password box.</li>
</ol>
<p>And that&#8217;s it!</p>
<p><a style="text-decoration: none;" href="http://www.pyrosoft.co.uk/blog/wp-content/uploads//2010/02/Screen-shot-2010-02-10-at-21.39.45.png"><img class="aligncenter size-full wp-image-1047" title="iChat Facebook settings" src="http://www.pyrosoft.co.uk/blog/wp-content/uploads//2010/02/Screen-shot-2010-02-10-at-21.39.45.png" alt="" width="580" height="410" /></a></p>
<p>Facebook has some instructions on how to set up other popular clients <a href="http://www.facebook.com/sitetour/chat.php">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pyrosoft.co.uk/blog/2010/02/10/how-to-set-up-ichat-for-facebook/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>My UK Election Wish List</title>
		<link>http://www.pyrosoft.co.uk/blog/2010/01/21/my-uk-election-wish-list/</link>
		<comments>http://www.pyrosoft.co.uk/blog/2010/01/21/my-uk-election-wish-list/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 20:47:25 +0000</pubDate>
		<dc:creator>Paul Maunders</dc:creator>
				<category><![CDATA[politics]]></category>

		<guid isPermaLink="false">http://www.pyrosoft.co.uk/blog/?p=1042</guid>
		<description><![CDATA[There will be an election in the UK within the next 6 months, so I thought I would take some time to compile a list of the major issues that will influence my vote.
So here&#8217;s my wish list for our next government:

All government spending and contracts should be published openly, and available for anyone to [...]]]></description>
			<content:encoded><![CDATA[<p>There will be an election in the UK within the next 6 months, so I thought I would take some time to compile a list of the major issues that will influence my vote.</p>
<p>So here&#8217;s my wish list for our next government:</p>
<ul>
<li><strong>All government spending and contracts should be published openly, and available for anyone to download as raw data</strong>. The only exception should be staff salaries, which I would consider personal information. Each department should publish their total wage bill, and the number of staff they employ so that the average wage can be seen. Currently, nobody, not even the opposition, may scrutinise government spending on certain large contracts &#8211; so no-one knows the true extent of our nations commitments. Commercial confidentiality is often cited as an excuse not release such information &#8211; in my opinion, if you are a business who deals with government &#8211; you should  accept that your contracts will be public knowledge.</li>
<li><strong>All Ordnance Survey and Postcode data should be open and free. </strong>There should be a central, authoritative address database that anyone can use. I strongly believe that freeing up all this data will encourage a huge amount of innovation and bring economic benefits of several orders of magnitude bigger than the cost to the public purse.</li>
<li><strong>Prevent any bank or business from becoming too big too fail. </strong>If a business is too big too fail, it&#8217;s too big. It&#8217;s not fair to privatise the profits, and socialise the losses, therefore these businesses should be broken up.</li>
<li><strong>Pay back the national debt.</strong> It&#8217;s not a good strategy for individuals or governments to consistently spend more than they earn. Nor is it fair that every child in the UK is born with £30,000+ of public debt. Let&#8217;s try to boost the economy through sustainable activities rather then borrowing from the next generation.</li>
<li><strong>Simplify the tax system.</strong> The current system is hideously complex and inefficient. Surely we could save some money by simplifying things. Do tax inspectors really add much value to society? Couldn&#8217;t we redeploy most of them as Doctors, or scientists instead? (Or indeed <em>any</em> other job!)</li>
<li><strong>Encourage entrepreneurship. </strong>Cut back on the amount of paperwork (red tape) that businesses must complete.</li>
<li><strong>Streamline public procurement and encourage small business to bid for contracts. </strong>Let&#8217;s make it easier for small business to compete to provide products and services to the government.</li>
</ul>
<p>What are you wishes for the next government? Add a comment to this post!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pyrosoft.co.uk/blog/2010/01/21/my-uk-election-wish-list/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Summary of the new Companies Act 2006</title>
		<link>http://www.pyrosoft.co.uk/blog/2010/01/10/summary-of-the-new-companies-act-2006/</link>
		<comments>http://www.pyrosoft.co.uk/blog/2010/01/10/summary-of-the-new-companies-act-2006/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 22:42:36 +0000</pubDate>
		<dc:creator>Paul Maunders</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[companies house]]></category>

		<guid isPermaLink="false">http://www.pyrosoft.co.uk/blog/?p=1038</guid>
		<description><![CDATA[A new companies act was introduced in 2006, that has been gradually phased in over the last 3 years, becoming fully operational on the 1st October 2009. The full act of parliament is over 700 pages long (in PDF form), so I&#8217;ve decided to try to highlight some of the key points / changes in [...]]]></description>
			<content:encoded><![CDATA[<p>A new companies act was introduced in 2006, that has been gradually phased in over the last 3 years, becoming fully operational on the 1st October 2009. The full act of parliament is over 700 pages long (in PDF form), so I&#8217;ve decided to try to highlight some of the key points / changes in this post for quick reference. <strong>NB:</strong> I&#8217;ve not read the full act (and don&#8217;t plan to!) so this is certainly not a comprehensive list.</p>
<p><strong>General</strong></p>
<ul>
<li>Private limited companies no longer need to have a company secretary.</li>
<li>Private limited companies are no longer required to have an annual general meeting (AGM).</li>
<li>There are new standard company constitution documents (<a href="http://www.opsi.gov.uk/si/si2008/pdf/uksi_20083014_en.pdf">memorandum</a> and <a href="http://www.companieshouse.gov.uk/about/modelArticles/modelArticles.shtml">model articles of association</a>). The model articles replace Table A as the new default articles.</li>
<li>Companies are no longer be required to specify their objects on incorporation.</li>
</ul>
<p><strong>Company Directors</strong></p>
<ul>
<li><a href="http://www.opsi.gov.uk/ACTS/acts2006/ukpga_20060046_en_13#pt10-ch2">Director&#8217;s general duties</a> have been formally codified in law.</li>
<li>Company Directors are no longer required to publish their residential address for all to see.  They may opt to provide an additional service address for correspondence, which can be the same as their company&#8217;s registered office address. A residential address must still be given to companies house, but this will only be shared with selected 3rd parties (certain public bodies, and credit reference agencies).</li>
<li>Company Directors must now be at least 16 years old.</li>
</ul>
<p><strong>Accounts and Reports</strong></p>
<ul>
<li>The statements that appear on a company&#8217;s accounts have <a href="http://www.companieshouse.gov.uk/companiesAct/implementations/apr2008AccStatement.shtml">changed</a>.</li>
<li>The accounts filing deadline has been reduced from 10 months to 9 months for private companies, and 7 months to 6 months for PLCs.</li>
</ul>
<p><strong>Members / Shareholders</strong></p>
<ul>
<li>Companies are able to make better use of electronic communication to communicate with shareholders.</li>
<li>It&#8217;s no longer as easy for external parties to demand to see a company&#8217;s list of shareholders. Interested parties must declare their name, address, and the purpose of their request. It must be for a &#8220;proper&#8221; purpose &#8211; whatever that means! A company can apply to a court to reject the request.</li>
</ul>
<p><strong>Forms</strong></p>
<ul>
<li>Lots of the companies house forms have been redesigned / renamed with much more logical names. Rather than being named after the section of the companies house act that describes them, they are named after their purpose. For example, the Annual Return is now Form AR01 rather than Form 363. The relevant law sections are now referred to within the body of the form.</li>
<li>Companies must now complete a Statement of Capital when they are first registered, whenever share capital changes, and every year when they file their annual return. This is a snapshot of the companies share capital at a given point in time, and also gives details of voting and dividend rights for each share.</li>
</ul>
<p>Companies House is holding a number of <a href="http://www.companieshouse.gov.uk/about/companiesActSeminars.shtml">seminars</a> to help businesses understand the implications of the new Companies Act. They will also give some demonstrations of how to use the web filing system to file forms online. You can book a place a the seminar online and, at the time of writing the next ones available are:</p>
<p><strong>Basingstoke</strong><br />
Holiday Inn Basingstoke, Grove Road, Basingstoke. RG21 3EE<br />
Thursday 11 February 2010 at 9.30am and 2.00pm</p>
<p><strong>Norwich</strong><br />
Holiday Inn Norwich, Ipswich Road, Norwich. NR4 6EP<br />
Thursday 11 March 2010 at 9.30am and 2.00pm</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pyrosoft.co.uk/blog/2010/01/10/summary-of-the-new-companies-act-2006/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Working with Government APIs</title>
		<link>http://www.pyrosoft.co.uk/blog/2009/11/21/working-with-government-apis/</link>
		<comments>http://www.pyrosoft.co.uk/blog/2009/11/21/working-with-government-apis/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 12:31:16 +0000</pubDate>
		<dc:creator>Paul Maunders</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[politics]]></category>

		<guid isPermaLink="false">http://www.pyrosoft.co.uk/blog/?p=1036</guid>
		<description><![CDATA[It may have been a long time coming, but I have to say the UK Government has now made pretty good progress when it comes to making their services available online &#8211; and we have taken advantage of this with our online accounting system, Clear Books.
Clear Books integrates with a number of Government APIs, including:

Companies [...]]]></description>
			<content:encoded><![CDATA[<p>It may have been a long time coming, but I have to say the UK Government has now made pretty good progress when it comes to making their services available online &#8211; and we have taken advantage of this with our online accounting system, Clear Books.</p>
<p>Clear Books integrates with a number of Government APIs, including:</p>
<ul>
<li><a href="http://www.clearbooks.co.uk/blog/2009/11/20/companies-house-webcheck-built-into-clear-books/">Companies House WebCheck</a> &#8211; Lets you purchase official documents (annual accounts, annual returns, director appointments, share allotments) that have been filed for most companies registered in England &amp; Wales.</li>
<li><a href="http://www.clearbooks.co.uk/support/press/recognised-hmrc-software/">Online VAT Filing</a> &#8211; Allows you to generate and file VAT returns online. Also allows you to pay by direct debit, so no need to send a cheque in the post.</li>
<li>Online CIS Filing (coming soon) &#8211; A feature specifically for the Construction Industry &#8211; this lets you file monthly CIS300 returns and verify sub-contractors from within Clear Books.</li>
</ul>
<p>In the future we plan to add a number of other services, such as:</p>
<ul>
<li>Online Filing with Companies House &#8211; File your annual return, annual accounts, and other forms electronically.</li>
<li>PAYE forms filing with HMRC  - File P14 , P35 , P45, P46 etc online.</li>
</ul>
<p>We have also made a lot of our code available as open source under the <a href="http://blogs.fubra.com/php-govtalk/">php-govtalk</a> project, so if you are interested in collaborating with us &#8211; we&#8217;d love to hear from you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pyrosoft.co.uk/blog/2009/11/21/working-with-government-apis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running Askozia PBX on OSX with Sun&#8217;s VirtualBox</title>
		<link>http://www.pyrosoft.co.uk/blog/2009/10/13/running-askozia-pbx-on-osx-with-suns-virtualboxify/</link>
		<comments>http://www.pyrosoft.co.uk/blog/2009/10/13/running-askozia-pbx-on-osx-with-suns-virtualboxify/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 15:08:54 +0000</pubDate>
		<dc:creator>Paul Maunders</dc:creator>
				<category><![CDATA[asterisk]]></category>
		<category><![CDATA[askozia]]></category>

		<guid isPermaLink="false">http://www.pyrosoft.co.uk/blog/?p=1026</guid>
		<description><![CDATA[Here&#8217;s some instructions on how to get Askozia PBX running on a virtual machine with VirtualBox on OSX.
1)  If you haven&#8217;t already, download and install VirtualBox.
2) Download the Askozia disk image that you want to use. I&#8217;m using the latest Linux port release at the time of writing (r1161)
3) Uncompress the image, and then convert [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s some instructions on how to get Askozia PBX running on a virtual machine with VirtualBox on OSX.</p>
<p>1)  If you haven&#8217;t already, download and install <a href="http://www.virtualbox.org/wiki/Downloads">VirtualBox</a>.</p>
<p>2) Download the Askozia disk image that you want to use. I&#8217;m using the latest Linux port release at the time of writing (<a href="http://downloads.askozia.com/pbx/snapshots/r1161/">r1161</a>)</p>
<p>3) Uncompress the image, and then convert it to a Virtual Disk Image</p>
<pre>gzcat askozia-pbx-generic-pc-x86-i486-uclibc-r1161.img > test.img
VBoxManage convertdd test.img test.vdi --variant Fixed</pre>
<p>4) Load up VirtualBox and create a new virtual machine. Use whatever name you want, and select &#8220;Other&#8221; as the operating system. Allocate some memory (I used 256MB), and then choose the virtual hard disk that you created in the previous step as the boot hard disk (primary master). Click Finish.</p>
<p>5) Select your new virtual machine and go to Settings &gt; Network. Specify Intel Pro/1000 MT Desktop, Bridged Adapter, and then en0: Ethernet in the three drop down boxes. Click OK to save. This will join the virtual machine to the same network as your host machine is on. We have DHCP configured on our network, so the virtual machine should pick up an IP address from that.</p>
<p>6) Start your virtual machine.</p>
<p>Once the virtual machine has loaded it should tell you what IP address it has been assigned at the terminal. You can then access the control panel from a web browser by going to that IP address using admin/askozia as the login details.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pyrosoft.co.uk/blog/2009/10/13/running-askozia-pbx-on-osx-with-suns-virtualboxify/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Has your WordPress been hacked?</title>
		<link>http://www.pyrosoft.co.uk/blog/2009/09/06/has-your-wordpress-been-hacked/</link>
		<comments>http://www.pyrosoft.co.uk/blog/2009/09/06/has-your-wordpress-been-hacked/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 15:00:12 +0000</pubDate>
		<dc:creator>Paul Maunders</dc:creator>
				<category><![CDATA[blogging]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.pyrosoft.co.uk/blog/?p=1005</guid>
		<description><![CDATA[There have been a number of vulnerabilities discovered in WordPress since it started, including one earlier this month. They all have pretty much the same objective: to try to get access to your blog in order to post links to their own sites.
In this post I am going to look at ways you can tell [...]]]></description>
			<content:encoded><![CDATA[<p>There have been a number of vulnerabilities discovered in WordPress since it started, including <a href="http://wordpress.org/development/2009/09/keep-wordpress-secure/">one earlier this month</a>. They all have pretty much the same objective: to try to get access to your blog in order to post links to their own sites.</p>
<p>In this post I am going to look at ways you can tell if your blog has been hacked, suggest some ways to fix it, and then discuss techniques to prevent being hacked again.</p>
<p>Before we start, the most important thing you can do to prevent being hacked in the future is to <strong>regularly update your blog software</strong>. The easiest way is to use subversion. I&#8217;ve written <a href="http://www.pyrosoft.co.uk/blog/2007/11/18/upgrading-wordpress-with-subversion/">how to upgrade your blog with subversion</a> in an earlier post.</p>
<h3>Symptoms</h3>
<p>So firstly, you&#8217;ll probably want to find out if your blog has been compromised. There are a few things to look out for:</p>
<h4>Unauthorised Admin Users</h4>
<p>Disable JavaScript in your web browser, then navigate to the Users page in the WordPress admin panel. If you see some additional administrator users there that you didn&#8217;t expect, you have probably been hacked. They sometimes use an e-mail address like www@www.com</p>
<h4>Strange Files in the Uploads Folder</h4>
<p>Strange files may also appear in your WordPress uploads folder, including ones that have hidden PHP code inside them (try grepping for <strong>&#8220;events or a cale&#8221;</strong> or php).</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-R</span> <span style="color: #660033;">-l</span> <span style="color: #ff0000;">&quot;php&quot;</span> wp-content<span style="color: #000000; font-weight: bold;">/</span>uploads<span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

<p>The files might have random names like:</p>
<p>faceboutique-spot-less-150&#215;150.bak.php<br />
mandseyeshadowpalette.bak<br />
cliniqueblusher_old.jpeg<br />
.wp-cache.cache.php</p>
<p>The uploads folder is writeable by apache, so hackers use this area to save malicious code to your server. They may then include such code as a plugin.</p>
<h4>Strange Records in the Database</h4>
<p>Check for suspicious data in wp_options by running the following queries:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #CC0099;">*</span>
<span style="color: #990099; font-weight: bold;">FROM</span>  <span style="color: #008000;">`wp<span style="color: #008080; font-weight: bold;">_</span>options`</span>
<span style="color: #990099; font-weight: bold;">WHERE</span>  <span style="color: #008000;">`option<span style="color: #008080; font-weight: bold;">_</span>name`</span> <span style="color: #CC0099; font-weight: bold;">LIKE</span> <span style="color: #008000;">'active<span style="color: #008080; font-weight: bold;">_</span>plugins'</span><span style="color: #000033;">;</span></pre></div></div>

<p>Hackers use the plugin system to include their rogue scripts. You may see some strange files being listed as a plugin. You can delete this row and manually re-activate any plugins via the admin.</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #CC0099;">*</span>
<span style="color: #990099; font-weight: bold;">FROM</span>  <span style="color: #008000;">`wp<span style="color: #008080; font-weight: bold;">_</span>options`</span>
<span style="color: #990099; font-weight: bold;">WHERE</span>  <span style="color: #008000;">`option<span style="color: #008080; font-weight: bold;">_</span>name`</span> <span style="color: #CC0099; font-weight: bold;">LIKE</span>  <span style="color: #008000;">'permalink<span style="color: #008080; font-weight: bold;">_</span>structure'</span><span style="color: #000033;">;</span></pre></div></div>

<p>This will show you the permalink structure &#8211; the most recent vulnerability modified this so look out for anything abnormal.</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #CC0099;">*</span>
<span style="color: #990099; font-weight: bold;">FROM</span>  <span style="color: #008000;">`wp<span style="color: #008080; font-weight: bold;">_</span>options`</span>
<span style="color: #990099; font-weight: bold;">WHERE</span>  <span style="color: #008000;">`option<span style="color: #008080; font-weight: bold;">_</span>name`</span> <span style="color: #CC0099; font-weight: bold;">LIKE</span>  <span style="color: #008000;">'<span style="color: #008080; font-weight: bold;">_</span>transient<span style="color: #008080; font-weight: bold;">_</span>rewrite<span style="color: #008080; font-weight: bold;">_</span>rules'</span><span style="color: #000033;">;</span></pre></div></div>

<p>You can delete this row if it exists (it should be rebuilt dynamically)&#8230;. it may contain cached</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #CC0099;">*</span>
<span style="color: #990099; font-weight: bold;">FROM</span> wp_posts
<span style="color: #990099; font-weight: bold;">WHERE</span> post_content <span style="color: #CC0099; font-weight: bold;">LIKE</span>  <span style="color: #008000;">'<span style="color: #008080; font-weight: bold;">%</span>iframe<span style="color: #008080; font-weight: bold;">%</span>'</span> <span style="color: #CC0099; font-weight: bold;">OR</span> post_content <span style="color: #CC0099; font-weight: bold;">LIKE</span>  <span style="color: #008000;">'<span style="color: #008080; font-weight: bold;">%</span>noscript<span style="color: #008080; font-weight: bold;">%</span>'</span> <span style="color: #CC0099; font-weight: bold;">OR</span> post_content <span style="color: #CC0099; font-weight: bold;">LIKE</span>  <span style="color: #008000;">'<span style="color: #008080; font-weight: bold;">%</span>display:<span style="color: #008080; font-weight: bold;">%</span>'</span><span style="color: #000033;">;</span></pre></div></div>

<p>This will look for posts that contain iframes, or hidden links.</p>
<h3>Fixing a hacked WordPress Installation</h3>
<p>The cleanest way is to re-install WordPress, re-import your posts and comments via the import tool and then to copy in any files that you know are safe&#8230;</p>
<ul>
<li>Back up your database and site code.</li>
<li>Export your posts, comments, tags and categories in a WordPress WXR File (Tools &#8211; Export).</li>
<li>Set up a new mysql database, username and password. Ensure the user only has access to the WordPress db.</li>
<li>Install a fresh copy of the latest version of WordPress (with the correct permissions), and configure it to point at the new db.</li>
<li>Delete any files that include PHP from the uploads folder.</li>
<li>Import your posts, comments etc from the WordPress WXR XML file. There is an option to get WordPress to fetch image uploads, but I haven&#8217;t had that much luck with this. To get it to work, you will need to install your new blog in a parallel location so that it can access the old blog. When I tried, it seemed to grab the files, but not update the location urls in posts, thus requiring a script to update the urls in the db. Instead, you might find it easier to just copy your uploads folder across &#8211; but they won&#8217;t then show in the media gallery. Neither route seems ideal!</li>
<li>Re-install your themes and plugins.</li>
<li>Move the old blog to a location outside your web root as a backup, or delete it all together.</li>
<li>Set up new WordPress users with secure passwords.</li>
</ul>
<p>It&#8217;s not a fun job!</p>
<h3>Securing WordPress</h3>
<ul>
<li>Ensure you have the right permissions set on your WordPress scripts. Only the uploads folder should be writeable by the web server.</li>
<li>Use a separate database, db username and db password for WordPress.</li>
<li>Add an additional layer of authentication above the WordPress admin area, e.g. http authentication in Apache. NB: When I did this, it seemed to stop uploads from working with the flash uploader (gave a HTTP ERROR), so I had resort to using the basic browser uploader.</li>
<li>Some people also recommend removing the default &#8220;admin&#8221; user, and setting up an administrator with a new name &#8211; to make it harder to brute force crack your passwords.</li>
</ul>
<h3>Further Information</h3>
<p>Here&#8217;s some of the pages I read while researching this article&#8230;.</p>
<ul>
<li><a href="http://blog.4rev.net/2009-09/wordpress-hacked-eval-base64_decode-_serverhttp_referer/">http://blog.4rev.net/2009-09/wordpress-hacked-eval-base64_decode-_serverhttp_referer/</a></li>
<li><a href="http://groups.google.com/group/google-reader-troubleshoot/browse_thread/thread/39a7eef288c65dd0/c057b39d2f6e7455?pli=1">http://groups.google.com/group/google-reader-troubleshoot/browse_thread/thread/39a7eef288c65dd0/c057b39d2f6e7455?pli=1</a></li>
<li><a href="https://support.mayfirst.org/ticket/2291">https://support.mayfirst.org/ticket/2291</a></li>
<li><a href="http://smackdown.blogsblogsblogs.com/2008/06/24/how-to-completely-clean-your-hacked-wordpress-installation/">http://smackdown.blogsblogsblogs.com/2008/06/24/how-to-completely-clean-your-hacked-wordpress-installation/</a></li>
<li><a href="http://www.teohuiming.name/blog/wordpress-exploit">http://www.teohuiming.name/blog/wordpress-exploit</a></li>
<li><a href="http://linux.byexamples.com/archives/397/wordpress-exploit-we-been-hit-by-hidden-spam-link-injection/">http://linux.byexamples.com/archives/397/wordpress-exploit-we-been-hit-by-hidden-spam-link-injection/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.pyrosoft.co.uk/blog/2009/09/06/has-your-wordpress-been-hacked/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A WordPress YouTube Plugin &#8211; The FuTube Player</title>
		<link>http://www.pyrosoft.co.uk/blog/2009/08/17/a-wordpress-youtube-plugin-the-futube-player/</link>
		<comments>http://www.pyrosoft.co.uk/blog/2009/08/17/a-wordpress-youtube-plugin-the-futube-player/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 21:50:12 +0000</pubDate>
		<dc:creator>Paul Maunders</dc:creator>
				<category><![CDATA[blogging]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://www.pyrosoft.co.uk/blog/?p=992</guid>
		<description><![CDATA[Recently we were looking for a Flash video player to use on our websites. Youtube&#8217;s default player was a little bloated, so one of our developers at Fubra built an alternative youtube flv player, which looks a bit like this:

We&#8217;ve also released this as a wordpress plugin. You can install it via subversion if you [...]]]></description>
			<content:encoded><![CDATA[<p>Recently we were looking for a Flash video player to use on our websites. Youtube&#8217;s default player was a little bloated, so one of our developers at Fubra built an <a href="http://www.fubra.com/video/">alternative youtube flv player</a>, which looks a bit like this:</p>
<object id="fubravideo_1588491075" name="fubravideo_1588491075" data="http://video.fubra.com/skins/default.swf?nocache=1268749618" width="400" height="300" type="application/x-shockwave-flash">	<param name="allowFullScreen" value="true" /></param>	<param name="allowScriptAccess" value="always" /></param>	<param name="menu" value="false"></param>	<param name="scale" value="noscale"></param>	<param name="wmode" value="window"></param>	<param name="bgcolor" value="false"></param>	<param name="flashvars" value="align=left&author=by+Fubra+Limited&bgcolor=false&color=%23336699&hd=true&height=300&id=fubravideo_1588491075&image=false&skin=http%3A%2F%2Fvideo.fubra.com%2Fskins%2Fdefault.swf%3Fnocache%3D1268749618&title=FuTube+Player&width=400&video=gE1KGHUb9zw"></param>	<param name="movie" value="http://video.fubra.com/skins/default.swf?nocache=1268749618"></param></object>
<p></p>
<p>We&#8217;ve also released this as a <a href="http://wordpress.org/extend/plugins/futube-video-player/">wordpress plugin</a>. You can install it via subversion if you prefer using the instructions below.</p>
<p><strong>Installing the WordPress Plugin via Subversion</strong></p>
<p>From the command line, navigate to your WordPress plugins folder and then edit the svn externals for the folder.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> wp-content<span style="color: #000000; font-weight: bold;">/</span>plugins<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #c20cb9; font-weight: bold;">svn</span> propedit <span style="color: #c20cb9; font-weight: bold;">svn</span>:externals .</pre></div></div>

<p>This should open the file in your favourite text editor (I use vim). You should add a line like:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">futube http:<span style="color: #000000; font-weight: bold;">//</span>svn.wp-plugins.org<span style="color: #000000; font-weight: bold;">/</span>futube-video-player<span style="color: #000000; font-weight: bold;">/</span>trunk<span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

<p>Save and exit, then run:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">svn</span> update</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.pyrosoft.co.uk/blog/2009/08/17/a-wordpress-youtube-plugin-the-futube-player/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>UK Gov launches Clean Energy Cash Back scheme</title>
		<link>http://www.pyrosoft.co.uk/blog/2009/08/15/uk-gov-launches-clean-energy-cash-back-scheme/</link>
		<comments>http://www.pyrosoft.co.uk/blog/2009/08/15/uk-gov-launches-clean-energy-cash-back-scheme/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 11:24:36 +0000</pubDate>
		<dc:creator>Paul Maunders</dc:creator>
				<category><![CDATA[environment]]></category>

		<guid isPermaLink="false">http://www.pyrosoft.co.uk/blog/?p=988</guid>
		<description><![CDATA[Last month, the government launched a new &#8220;feed-in tariff&#8221; subsidy scheme for renewable energy installations that will see them pay up to 36.5p per KWh of energy produced.
At current prices, an installed 2 KW PV system costs around £12,000 (£6 per installed watt), and it&#8217;s estimated you would save / earn around £830 a year [...]]]></description>
			<content:encoded><![CDATA[<p>Last month, the <a href="http://www.guardian.co.uk/environment/2009/jul/15/clean-energy-cashback-homes">government launched a new &#8220;feed-in tariff&#8221; subsidy scheme</a> for renewable energy installations that will see them pay up to 36.5p per KWh of energy produced.</p>
<p>At current prices, an installed 2 KW PV system costs around £12,000 (£6 per installed watt), and it&#8217;s <a href="http://www.britisheco.com/files/ecopagedownloads-filename-207.pdf">estimated</a> you would save / earn around £830 a year with the new subsidy (15 year pay back, 6.9% return). There is also currently a £2,500 grant available (expiring April 2010) which would bring the overall cost down to £9,500 (12 year pay back, 8.7% return).</p>
<p>This estimates are based on electricity costs of 13.95p / KWh (which is also roughly what I am currently paying with EON on their online saver tariff once you&#8217;ve averaged out the various rates and daily fees).</p>
<p>It&#8217;s very likely that over time electricity prices will rise, especially in the UK where <a href="http://www.economist.com/opinion/displayStory.cfm?story_id=14167834">we have not built enough capacity</a> to replace our Nuclear plants as they shut down. As prices rise, the effective ROI will increase, but for this to become really popular I think we need to see returns of closer to 20%.</p>
<p>The government is also considering green mortgages, where you would be lent up to £10,000 to make energy efficiency improvements to your house (such as double glazing, energy efficient white goods, insulation), and then this would be paid back via your electricity bills &#8211; the cost of which should be covered by the savings you make. The charge would be against the property rather than the owner, and so would be transferrable if you move house in the future.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pyrosoft.co.uk/blog/2009/08/15/uk-gov-launches-clean-energy-cash-back-scheme/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHP GovTalk Class</title>
		<link>http://www.pyrosoft.co.uk/blog/2009/07/16/php-govtalk-class/</link>
		<comments>http://www.pyrosoft.co.uk/blog/2009/07/16/php-govtalk-class/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 12:04:44 +0000</pubDate>
		<dc:creator>Paul Maunders</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[govtalk]]></category>

		<guid isPermaLink="false">http://www.pyrosoft.co.uk/blog/?p=981</guid>
		<description><![CDATA[As part of our commitment to open source, we have begun work on PHP class to make it easier to for developers to work with the UK&#8217;s government gateway. The project is hosted on Google Code, and is called php govtalk. 
GovTalk is a set of standards for interacting electronically with government services. 
In the [...]]]></description>
			<content:encoded><![CDATA[<p>As part of our commitment to open source, we have begun work on PHP class to make it easier to for developers to work with the UK&#8217;s government gateway. The project is hosted on <a href="http://code.google.com/p/php-govtalk/">Google Code</a>, and is called <a href="http://blogs.fubra.com/php-govtalk/">php govtalk</a>. </p>
<p><a href="http://www.govtalk.gov.uk">GovTalk</a> is a set of standards for interacting electronically with government services. </p>
<p>In the future we will extend the class to work with individual government API&#8217;s such as Companies House, and HMRC. This will then be used on a number of projects, including our <a href="http://www.clearbooks.co.uk">online accounting</a> product, Clear Books.</p>
<p>We welcome contributions from other developers in the community, so if you want to help please contact any of the project admins.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pyrosoft.co.uk/blog/2009/07/16/php-govtalk-class/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
