<?xml version="1.0" encoding="UTF-8"?>
<rss 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/" version="2.0">

<channel>
	<title>Paul Maunders | 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, 15 Oct 2009 07:15:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Running Askozia PBX on OSX with Sun’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>

<p><a href="http://feedads.g.doubleclick.net/~at/ruKmCE6S0NR6mL20N5L-Ip_13CI/0/da"><img src="http://feedads.g.doubleclick.net/~at/ruKmCE6S0NR6mL20N5L-Ip_13CI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~at/ruKmCE6S0NR6mL20N5L-Ip_13CI/1/da"><img src="http://feedads.g.doubleclick.net/~at/ruKmCE6S0NR6mL20N5L-Ip_13CI/1/di" border="0" ismap="true"></img></a></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>0</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>

<p><a href="http://feedads.g.doubleclick.net/~at/67S2wf9kCmwqTTl0iTckGxcWZD4/0/da"><img src="http://feedads.g.doubleclick.net/~at/67S2wf9kCmwqTTl0iTckGxcWZD4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~at/67S2wf9kCmwqTTl0iTckGxcWZD4/1/da"><img src="http://feedads.g.doubleclick.net/~at/67S2wf9kCmwqTTl0iTckGxcWZD4/1/di" border="0" ismap="true"></img></a></p>]]></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 – 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_1977390828" name="fubravideo_1977390828" data="http://video.fubra.com/skins/default.swf?nocache=1257220284" 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_1977390828&image=false&skin=http%3A%2F%2Fvideo.fubra.com%2Fskins%2Fdefault.swf%3Fnocache%3D1257220284&title=FuTube+Player&width=400&video=gE1KGHUb9zw"></param>	<param name="movie" value="http://video.fubra.com/skins/default.swf?nocache=1257220284"></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>


<p><a href="http://feedads.g.doubleclick.net/~at/yYp0fJ4usFgH0GQe9uAXpGgMqII/0/da"><img src="http://feedads.g.doubleclick.net/~at/yYp0fJ4usFgH0GQe9uAXpGgMqII/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~at/yYp0fJ4usFgH0GQe9uAXpGgMqII/1/da"><img src="http://feedads.g.doubleclick.net/~at/yYp0fJ4usFgH0GQe9uAXpGgMqII/1/di" border="0" ismap="true"></img></a></p>]]></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>

<p><a href="http://feedads.g.doubleclick.net/~at/kQGwirGM-uSeWLngxE3BF64vYIw/0/da"><img src="http://feedads.g.doubleclick.net/~at/kQGwirGM-uSeWLngxE3BF64vYIw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~at/kQGwirGM-uSeWLngxE3BF64vYIw/1/da"><img src="http://feedads.g.doubleclick.net/~at/kQGwirGM-uSeWLngxE3BF64vYIw/1/di" border="0" ismap="true"></img></a></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>1</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>

<p><a href="http://feedads.g.doubleclick.net/~at/eoJsfUq5GQK5wdDYW_tybKHyD54/0/da"><img src="http://feedads.g.doubleclick.net/~at/eoJsfUq5GQK5wdDYW_tybKHyD54/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~at/eoJsfUq5GQK5wdDYW_tybKHyD54/1/da"><img src="http://feedads.g.doubleclick.net/~at/eoJsfUq5GQK5wdDYW_tybKHyD54/1/di" border="0" ismap="true"></img></a></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>
		<item>
		<title>A new way to find furniture</title>
		<link>http://www.pyrosoft.co.uk/blog/2009/06/23/a-new-way-to-find-furniture/</link>
		<comments>http://www.pyrosoft.co.uk/blog/2009/06/23/a-new-way-to-find-furniture/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 13:18:47 +0000</pubDate>
		<dc:creator>Paul Maunders</dc:creator>
				<category><![CDATA[investing]]></category>

		<guid isPermaLink="false">http://www.pyrosoft.co.uk/blog/?p=975</guid>
		<description><![CDATA[In February of this year we invested in a startup called Furnish.co.uk, and I&#8217;m pleased to say that as of yesterday they have now gone live with their sleek new website.

Furnish.co.uk, as it&#8217;s name suggests, is a new way to find and buy luxury home furniture online. The site acts as a shop window for [...]]]></description>
			<content:encoded><![CDATA[<p>In February of this year we invested in a startup called Furnish.co.uk, and I&#8217;m pleased to say that as of yesterday they have now gone live with their sleek new website.</p>
<p><img class="aligncenter size-medium wp-image-979" title="furnish screenshot" src="http://www.pyrosoft.co.uk/blog/wp-content/uploads//2009/06/furnish-screenshot-400x372.png" alt="furnish screenshot" width="400" height="372" /></p>
<p>Furnish.co.uk, as it&#8217;s name suggests, is a new way to <a href="http://www.furnish.co.uk">find and buy luxury home furniture online</a>. The site acts as a shop window for a variety of boutique stores and exclusive designers, allowing you to compare a huge range of options in one place. So if you were decorating a new bedroom, and wanted to find the perfect <a href="http://furnish.co.uk/f/table-lamps-lighting">bedside lamp</a>, Furnish.co.uk would let you drill down to the exact style you wanted &#8211; you can filter by price, colour, material, and size.</p>
<p>Furnish is aimed at the mid to high end of the furniture market and includes products you won&#8217;t typically find in the major high street retailers. They are adding more products every day, and hope to include over 100 stores over the course of the next few months, so keep checking back!</p>

<p><a href="http://feedads.g.doubleclick.net/~at/m7m0v5Z_504x5YMAtMajz9ZNy9M/0/da"><img src="http://feedads.g.doubleclick.net/~at/m7m0v5Z_504x5YMAtMajz9ZNy9M/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~at/m7m0v5Z_504x5YMAtMajz9ZNy9M/1/da"><img src="http://feedads.g.doubleclick.net/~at/m7m0v5Z_504x5YMAtMajz9ZNy9M/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.pyrosoft.co.uk/blog/2009/06/23/a-new-way-to-find-furniture/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Shared Calendars on the Mac &amp; iPhone with Google Sync</title>
		<link>http://www.pyrosoft.co.uk/blog/2009/06/20/shared-calendars-on-the-mac-iphone-with-google-sync/</link>
		<comments>http://www.pyrosoft.co.uk/blog/2009/06/20/shared-calendars-on-the-mac-iphone-with-google-sync/#comments</comments>
		<pubDate>Sat, 20 Jun 2009 17:32:07 +0000</pubDate>
		<dc:creator>Paul Maunders</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[calendar]]></category>
		<category><![CDATA[google sync]]></category>
		<category><![CDATA[ical]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.pyrosoft.co.uk/blog/?p=971</guid>
		<description><![CDATA[Today I have been attempting to set up Google Calendar so that it automatically synchronises with an iPhone and also iCal on a Mac computers. It was a bit trickier than I expected, so here are some of my observations. Hopefully they will help someone else!
Google Sync 
Here are some of the main things you need [...]]]></description>
			<content:encoded><![CDATA[<p>Today I have been attempting to set up Google Calendar so that it automatically synchronises with an iPhone and also iCal on a Mac computers. It was a bit trickier than I expected, so here are some of my observations. Hopefully they will help someone else!</p>
<h3 style="font-size: 1.17em;">Google Sync </h3>
<p>Here are some of the main things you need to remember to do:</p>
<ol>
<li>Make sure you have <a href="http://www.google.com/support/a/bin/answer.py?answer=135937">enabled Google sync for mobiles</a> in your Google Apps account. From your Google Apps Dashboard, click the Mobile link. Then tick the Enable Google Sync box on the next page and press save.</li>
<li>Set up <a href="http://www.google.com/support/mobile/bin/answer.py?answer=138740&amp;topic=14252">Google Sync on your iPhone</a> to sync calendars and contacts from Google. Basically you just add a Microsoft Exchange account with your google apps login details, and then select calendars and contacts in the syncing options.</li>
<li>You must also <a href="http://www.google.com/support/mobile/bin/answer.py?answer=139206&amp;ctx=sibling&amp;topic=14252">choose which calendars you want to sync to your iPhone</a> via the Google Mobile website. Visit http://m.google.com in Safari on your iPhone.</li>
</ol>
<h3 style="font-size: 1.17em;">iCal</h3>
<p>You can set up <a href="http://www.google.com/support/calendar/bin/answer.py?hl=en&amp;answer=99358#ical">iCal to subscribe to your Google Calendars</a> via a caldav url. First you add a new account under preferences, and then under the delegation tab you select the calendars you wish to subscribe to.</p>
<h3 style="font-size: 1.17em;">Sharing Google Calendars </h3>
<p>You can <a href="http://www.google.com/support/forum/p/Google+Apps/thread?tid=6d7b7891a32740fd&amp;hl=en">share a calendar</a> with other users in your google apps domain, or external users on other domains. There are various ways to do this such as sending a link to the ical url or sending an invite within the calendar sharing pages on the Google Calendar website.</p>

<p><a href="http://feedads.g.doubleclick.net/~at/zR83iO04L1SbNR49isPKYEiUdA4/0/da"><img src="http://feedads.g.doubleclick.net/~at/zR83iO04L1SbNR49isPKYEiUdA4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~at/zR83iO04L1SbNR49isPKYEiUdA4/1/da"><img src="http://feedads.g.doubleclick.net/~at/zR83iO04L1SbNR49isPKYEiUdA4/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.pyrosoft.co.uk/blog/2009/06/20/shared-calendars-on-the-mac-iphone-with-google-sync/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How to upgrade iphone 3.0 beta to full official release</title>
		<link>http://www.pyrosoft.co.uk/blog/2009/06/18/how-to-upgrade-iphone-3-0-beta-to-full-official-release/</link>
		<comments>http://www.pyrosoft.co.uk/blog/2009/06/18/how-to-upgrade-iphone-3-0-beta-to-full-official-release/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 09:52:54 +0000</pubDate>
		<dc:creator>Paul Maunders</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[3.0]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[firmware]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.pyrosoft.co.uk/blog/?p=965</guid>
		<description><![CDATA[If you are an iPhone developer and have been running one of the beta versions of the 3.0 firmware then you might find that iTunes will not update you to the latest official 3.0 release, as it already thinks you are using the most recent version.
It&#8217;s taken me a while, but I&#8217;ve finally found out [...]]]></description>
			<content:encoded><![CDATA[<p>If you are an iPhone developer and have been running one of the beta versions of the 3.0 firmware then you might find that iTunes will not update you to the latest official 3.0 release, as it already thinks you are using the most recent version.</p>
<p>It&#8217;s taken me a while, but I&#8217;ve finally found out how to do it!</p>
<p>NB: Before you do anything, make sure you have backed up your phone in case something goes wrong!</p>
<ol>
<li>Download the latest firmware directly from Apple&#8217;s Content Delivery Network:
<ul>
<li><a href="http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6580.20090617.XsP76/iPhone1,1_3.0_7A341_Restore.ipsw">iPhone Original</a></li>
<li><a href="http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6578.20090617.VfgtU/iPhone1,2_3.0_7A341_Restore.ipsw">iPhone 3G</a></li>
</ul>
</li>
<li>The file may have a .zip extension, if so remove this by renaming the file so that it ends with .ipsw</li>
<li>Open up iTunes, and Option-Click the restore button. You should then select the ipsw file you downloaded.</li>
<li>Follow the on-screen instructions as it upgrades your firmware.</li>
</ol>
<p>Warning &#8211; do this at your own risk. It may break your phone.</p>

<p><a href="http://feedads.g.doubleclick.net/~at/_fGfjKXPOWM_Fh8i6NfSiS4JkMM/0/da"><img src="http://feedads.g.doubleclick.net/~at/_fGfjKXPOWM_Fh8i6NfSiS4JkMM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~at/_fGfjKXPOWM_Fh8i6NfSiS4JkMM/1/da"><img src="http://feedads.g.doubleclick.net/~at/_fGfjKXPOWM_Fh8i6NfSiS4JkMM/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.pyrosoft.co.uk/blog/2009/06/18/how-to-upgrade-iphone-3-0-beta-to-full-official-release/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Testing the Yii Framework</title>
		<link>http://www.pyrosoft.co.uk/blog/2009/05/28/testing-the-yii-framework/</link>
		<comments>http://www.pyrosoft.co.uk/blog/2009/05/28/testing-the-yii-framework/#comments</comments>
		<pubDate>Thu, 28 May 2009 15:10:45 +0000</pubDate>
		<dc:creator>Paul Maunders</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[yii]]></category>

		<guid isPermaLink="false">http://www.pyrosoft.co.uk/blog/?p=956</guid>
		<description><![CDATA[Installing
First, download the Yii Framework to somewhere sensible. I prefer to use subversion to check out the code:
svn co http://yii.googlecode.com/svn/branches/1.0 /usr/share/php/Yii
This will take a few minutes. Once it&#8217;s done, you can use the Yii Command Runner (yiic) to set up your web application:
/usr/share/php/Yii/framework/yiic webapp /var/www/html/appname
If everything went well, you should be able to access your [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Installing</strong></p>
<p>First, download the Yii Framework to somewhere sensible. I prefer to use subversion to check out the code:</p>
<pre>svn co <a href="http://yii.googlecode.com/svn/branches/1.0">http://yii.googlecode.com/svn/branches/1.0</a> /usr/share/php/Yii</pre>
<p>This will take a few minutes. Once it&#8217;s done, you can use the Yii Command Runner (yiic) to set up your web application:</p>
<pre>/usr/share/php/Yii/framework/yiic webapp /var/www/html/appname</pre>
<p>If everything went well, you should be able to access your web app with:</p>
<pre>http://hostname/appname/</pre>
<p>You should see a screen like the following one:</p>
<p><img class="aligncenter size-medium wp-image-960" title="yii-default-screen" src="http://www.pyrosoft.co.uk/blog/wp-content/uploads//2009/05/yii-default-screen-400x304.png" alt="yii-default-screen" width="400" height="304" /></p>
<p><strong>Configuring</strong></p>
<p>Set up the config script to be able to connect to your database.</p>
<pre>/var/www/html/webapp/protected/config/main.php</pre>
<p>Uncomment the DB section, and add in your database connection details:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #0000ff;">'db'</span><span style="color: #339933;">=&gt;</span>array<span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'connectionString'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'mysql:host=localhost;dbname=http_auth'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'username'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'root'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'password'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'d2x@1A1!aa!a!'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'emulatePrepare'</span><span style="color: #339933;">=&gt;</span>true
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span></pre></div></div>


<p><a href="http://feedads.g.doubleclick.net/~at/Drp_GVdh_knqnM7dFsGbhxdYQIw/0/da"><img src="http://feedads.g.doubleclick.net/~at/Drp_GVdh_knqnM7dFsGbhxdYQIw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~at/Drp_GVdh_knqnM7dFsGbhxdYQIw/1/da"><img src="http://feedads.g.doubleclick.net/~at/Drp_GVdh_knqnM7dFsGbhxdYQIw/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.pyrosoft.co.uk/blog/2009/05/28/testing-the-yii-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developing with Subversion, Unfuddle and OSX</title>
		<link>http://www.pyrosoft.co.uk/blog/2009/05/27/developing-with-subversion-unfuddle-and-osx/</link>
		<comments>http://www.pyrosoft.co.uk/blog/2009/05/27/developing-with-subversion-unfuddle-and-osx/#comments</comments>
		<pubDate>Wed, 27 May 2009 09:08:55 +0000</pubDate>
		<dc:creator>Paul Maunders</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[mamp]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[unfuddle]]></category>

		<guid isPermaLink="false">http://www.pyrosoft.co.uk/blog/?p=945</guid>
		<description><![CDATA[Today I&#8217;m going to be helping one of our investment companies, ByteWire set themselves up with a subversion based development environment for their Street Crime game. They will use a straight forward workflow whereby they will develop and test their code locally on their iMacs, commit working code to a subversion repository, and then check [...]]]></description>
			<content:encoded><![CDATA[<p>Today I&#8217;m going to be helping one of our investment companies, <a href="http://www.bytewire.co.uk">ByteWire</a> set themselves up with a subversion based development environment for their <a href="http://www.street-crime.com">Street Crime</a> game. They will use a straight forward workflow whereby they will develop and test their code locally on their iMacs, commit working code to a subversion repository, and then check out code the live site when they are happy with it.</p>
<p><strong>UNFUDDLE</strong></p>
<p>We&#8217;re going to be using <a href="http://unfuddle.com/">Unfuddle</a> to provide subversion hosting, project management and bug tracking.</p>
<ul>
<li>Create a free unfuddle account, e.g. Bytewire</li>
<li>Set up your first project e.g. Street Crime</li>
<li>Create a repository: http://bytewire.unfuddle.com/svn/bytewire_streetcrime/</li>
</ul>
<p><strong>LOCAL DOMAIN ON OSX</strong></p>
<p>Set-up a local test domain on OS X</p>
<ul>
<li> Add it to the hosts file</li>
</ul>
<pre>printf "127.0.0.1\tstreetcrime\n" | sudo tee -a /etc/hosts</pre>
<ul>
<li>This should now be accessible via http://streetcrime/</li>
</ul>
<p><strong>MAMP</strong></p>
<p>MAMP is an excellent bundle of Apache, MySQL and PHP for use on Macs. These tools do come pre-installed with Leopard by default, but php in particular is missing a fair few modules which you can only really add by re-compiling &#8211; MAMP makes it a lot easier. It installs new versions of PHP, MySQL and Apache alongside the default versions (on different ports), so that both can be run at the same time.</p>
<ul>
<li> Download it from: <a href="http://www.mamp.info/en/downloads/index.html">http://www.mamp.info/en/downloads/index.html</a></li>
<li>Once you have installed it, you can configure it to work with your local test domains.</li>
</ul>
<ol>
<li>
<ul>
<li>Create a folder where the site code will be placed, e.g. /Applications/MAMP/htdocs/streetcrime/http/</li>
</ul>
<ul>
<li>Open up /Applications/MAMP/conf/apache/httpd.conf with a text editor.</li>
</ul>
<ul>
<li>Uncomment the NameVirtualHost line, and add a couple of news lines to define the new virtual host. It should look like:</li>
</ul>
</li>
</ol>
<pre><span style="font-family: Georgia; font-size: small;"><span><span style="font-family: 'Courier New'; font-size: small;"><span>NameVirtualHost *

&lt;VirtualHost *&gt;
DocumentRoot /Applications/MAMP/htdocs/
ServerName localhost
&lt;/VirtualHost&gt;

&lt;VirtualHost *&gt;
DocumentRoot /Applications/MAMP/htdocs/streetcrime/http/
ServerName streetcrime
&lt;/VirtualHost&gt;</span></span></span></span></pre>
<ul>
<li>Restart MAMP through the MAMP control applet or widget. You should then be able to access the site at http://streetcrime:8888/</li>
</ul>
<p><strong>INITIAL COMMIT OF CODE</strong></p>
<ul>
<li>Make the trunk folder inside the repository where your site code will initially be kept.</li>
</ul>
<pre>svn -m '' mkdir http://bytewire.unfuddle.com/svn/bytewire_streetcrime/trunk/</pre>
<ul>
<li>Check out the trunk to your project top level folder</li>
</ul>
<pre>svn co http://bytewire.unfuddle.com/svn/bytewire_streetcrime/trunk/ /sites/street-crime.com/</pre>
<ul>
<li>Check through the folder structure and look for anything that should be excluded:</li>
</ul>
<pre>du -h --max-depth=1 /sites/street-crime.com/http/</pre>
<ul>
<li>Edit the svn:ignore property</li>
</ul>
<pre>svn add /sites/street-crime.com/http/</pre>
<pre>svn propedit svn:ignore /sites/street-crime.com/http/</pre>
<ul>
<li>List the files &amp; folders that you want to ignore, and then save and quit.</li>
</ul>
<pre>PSD
gangster-game-forum
gangster-game-wiki
gangster-game-blog
logs
uploads</pre>
<ul>
<li>Add the remaining files and commit (excluding uploads etc with svn:ignore)</li>
</ul>
<pre>svn add --force /sites/street-crime.com/http/</pre>
<pre>svn commit -m 'Importing main files'</pre>
<p><strong>CHECKING OUT CODE TO THE OSX DEVELOPMENT WORKSTATION</strong></p>
<ul>
<li>Change directory to the folder you set up locally for development.</li>
</ul>
<pre>cd /Applications/MAMP/htdocs/streetcrime/</pre>
<pre>rmdir http</pre>
<pre>svn co http://bytewire.unfuddle.com/svn/bytewire_streetcrime/trunk/ .</pre>
<p><strong>TESTING THE SITE</strong></p>
<ul>
<li>Visit http://streetcrime:8888/ &#8211; it showed a blank page for me. That would suggest error reporting is off, so enable in /Applications/MAMP/conf/php5/php.ini</li>
</ul>
<p><strong><br />
</strong></p>
<p><strong></strong></p>

<p><a href="http://feedads.g.doubleclick.net/~at/Pq4_4ob1na6RPQmC4fxtgAWMb9M/0/da"><img src="http://feedads.g.doubleclick.net/~at/Pq4_4ob1na6RPQmC4fxtgAWMb9M/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~at/Pq4_4ob1na6RPQmC4fxtgAWMb9M/1/da"><img src="http://feedads.g.doubleclick.net/~at/Pq4_4ob1na6RPQmC4fxtgAWMb9M/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.pyrosoft.co.uk/blog/2009/05/27/developing-with-subversion-unfuddle-and-osx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
