<?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>Phil's Blog</title>
	<atom:link href="http://blog.philross.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.philross.co.uk</link>
	<description></description>
	<lastBuildDate>Sat, 20 Jan 2007 17:34:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Azureus on Rails</title>
		<link>http://blog.philross.co.uk/2007/01/20/azureus-on-rails/</link>
		<comments>http://blog.philross.co.uk/2007/01/20/azureus-on-rails/#comments</comments>
		<pubDate>Sat, 20 Jan 2007 17:34:30 +0000</pubDate>
		<dc:creator>Phil Ross</dc:creator>
				<category><![CDATA[Rails]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://blog.philross.co.uk/2007/01/20/azureus-on-rails/</guid>
		<description><![CDATA[Over the last few months I&#8217;ve been developing Azureus on Rails, a web interface for Azureus implemented in Ruby on Rails. The first release is now available for download at RubyForge.
For a while I had been using Strawp&#8217;s Azureus PHP Control Layer and the HTML Web UI plugin. Neither of these provided all the features [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last few months I&#8217;ve been developing <a href="http://azureusonrails.rubyforge.org/">Azureus on Rails</a>, a web interface for <a href="http://azureus.sourceforge.net/">Azureus</a> implemented in <a href="http://www.rubyonrails.org/">Ruby on Rails</a>. The first release is now available for download at <a href="http://rubyforge.org/frs/?group_id=2810">RubyForge</a>.</p>
<p>For a while I had been using Strawp&#8217;s <a href="http://www.strawp.net/azureus_php/">Azureus PHP Control Layer</a> and the <a href="http://azureus.sourceforge.net/plugin_details.php?plugin=azhtmlwebui">HTML Web UI</a> plugin. Neither of these provided all the features I wanted though, so I developed my own. Azureus on Rails</p>
<ul>
<li>displays detailed information about each torrent,</li>
<li>allows torrent and file priorities to be adjusted,</li>
<li>supports stopping, starting, pausing and removing torrents,</li>
<li>allows torrents to be uploaded or added by url</li>
<li>and has a feed of the downloading and seeding torrents</li>
</ul>
<p>The Azureus on Rails <a href="http://azureusonrails.rubyforge.org/wiki/wiki.pl">Wiki</a> contains the full list of supported <a href="http://azureusonrails.rubyforge.org/wiki/wiki.pl?Features">features</a> as well as <a href="http://azureusonrails.rubyforge.org/wiki/wiki.pl?Screenshots">screenshots</a> and <a href="http://azureusonrails.rubyforge.org/wiki/wiki.pl?Install">installation instructions</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.philross.co.uk/2007/01/20/azureus-on-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FireBug</title>
		<link>http://blog.philross.co.uk/2006/01/19/firebug/</link>
		<comments>http://blog.philross.co.uk/2006/01/19/firebug/#comments</comments>
		<pubDate>Thu, 19 Jan 2006 20:43:32 +0000</pubDate>
		<dc:creator>Phil Ross</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://phil.ross.org.uk/?p=16</guid>
		<description><![CDATA[FireBug is a fantastic new Firefox extension for web developers.
It adds a console to the bottom of the Firefox window which shows you the log for the current page (including the ability to click on an error and have the source line that caused it hightlighted) and allows you to point-and-click to inspect any DOM [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.joehewitt.com/software/firebug/">FireBug</a> is a fantastic new <a href="http://www.spreadfirefox.com/?q=affiliates&amp;id=94071&amp;t=85">Firefox</a> extension for web developers.</p>
<p>It adds a console to the bottom of the Firefox window which shows you the log for the current page (including the ability to click on an error and have the source line that caused it hightlighted) and allows you to point-and-click to inspect any DOM element in the page. It can also inspect XMLHttpRequest calls and has a Javascript console.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.philross.co.uk/2006/01/19/firebug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing rxml attribute escaping</title>
		<link>http://blog.philross.co.uk/2005/12/29/fixing-rxml-attribute-escaping/</link>
		<comments>http://blog.philross.co.uk/2005/12/29/fixing-rxml-attribute-escaping/#comments</comments>
		<pubDate>Thu, 29 Dec 2005 17:15:47 +0000</pubDate>
		<dc:creator>Phil Ross</dc:creator>
				<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://phil.ross.org.uk/?p=15</guid>
		<description><![CDATA[The version of Builder used for rxml templates in Rails 1.0 doesn&#8217;t escape attribute values when they are written to the output.  This means characters such as double quotes in the attribute values will cause invalid XML documents to be generated.
To avoid having to manually escape every attribute value in rxml templates, I&#8217;ve put [...]]]></description>
			<content:encoded><![CDATA[<p>The version of <a href="http://builder.rubyforge.org/">Builder</a> used for rxml templates in <a href="http://www.rubyonrails.org/">Rails</a> 1.0 doesn&#8217;t <a href="http://dev.rubyonrails.org/ticket/3354">escape attribute values</a> when they are written to the output.  This means characters such as double quotes in the attribute values will cause invalid XML documents to be generated.</p>
<p>To avoid having to manually escape every attribute value in rxml templates, I&#8217;ve put together a <a href="http://wiki.rubyonrails.com/rails/pages/Plugins">plugin</a> that fixes this issue. Download <a href="http://files.philross.co.uk/blog/rails_fixes/rails_fixes.zip">rails_fixes.zip</a> and extract it to your vendor/plugins directory (to create a new rails_fixes directory). The plugin replaces the _insert_attributes method of Builder::XmlMarkup with one that escapes the values.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.philross.co.uk/2005/12/29/fixing-rxml-attribute-escaping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rubicon Christmas Party</title>
		<link>http://blog.philross.co.uk/2005/12/20/rubicon-christmas-party/</link>
		<comments>http://blog.philross.co.uk/2005/12/20/rubicon-christmas-party/#comments</comments>
		<pubDate>Tue, 20 Dec 2005 14:19:18 +0000</pubDate>
		<dc:creator>Phil Ross</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://phil.ross.org.uk/?p=14</guid>
		<description><![CDATA[Photos from the Rubicon Christmas Party last night are online.
The venue was Easthampstead Park in Bracknell (again).  This year&#8217;s theme was Cirque Noel.
]]></description>
			<content:encoded><![CDATA[<p>Photos from the Rubicon Christmas Party last night are <a href="http://gallery.philross.co.uk/v/2005/rubiconxmasparty/">online</a>.</p>
<p>The venue was Easthampstead Park in Bracknell (again).  This year&#8217;s theme was Cirque Noel.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.philross.co.uk/2005/12/20/rubicon-christmas-party/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Timezone support in Ruby</title>
		<link>http://blog.philross.co.uk/2005/08/30/timezone-support-in-ruby/</link>
		<comments>http://blog.philross.co.uk/2005/08/30/timezone-support-in-ruby/#comments</comments>
		<pubDate>Tue, 30 Aug 2005 22:09:41 +0000</pubDate>
		<dc:creator>Phil Ross</dc:creator>
				<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://phil.ross.org.uk/?p=13</guid>
		<description><![CDATA[I spent some time at the weekend looking for a library in Ruby that would support converting times in UTC to particular named timezones, such as Europe/London or America/New_York, taking care of whether daylight savings was in force.  
Unfortunately, I couldn&#8217;t find one, so I had to write my own instead.  The result, [...]]]></description>
			<content:encoded><![CDATA[<p>I spent some time at the weekend looking for a library in Ruby that would support converting times in UTC to particular named timezones, such as Europe/London or America/New_York, taking care of whether daylight savings was in force.  </p>
<p>Unfortunately, I couldn&#8217;t find one, so I had to write my own instead.  The result, <a href="http://tzinfo.rubyforge.org">TZInfo</a>, is now available at <a href="http://rubyforge.org/projects/tzinfo/">RubyForge</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.philross.co.uk/2005/08/30/timezone-support-in-ruby/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Bugzilla &#8211; Making more attributes available in bug mail</title>
		<link>http://blog.philross.co.uk/2005/08/17/bugzilla-making-more-attributes-available-in-bug-mail/</link>
		<comments>http://blog.philross.co.uk/2005/08/17/bugzilla-making-more-attributes-available-in-bug-mail/#comments</comments>
		<pubDate>Tue, 16 Aug 2005 23:40:07 +0000</pubDate>
		<dc:creator>Phil Ross</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://phil.ross.org.uk/?p=12</guid>
		<description><![CDATA[I spent a while trying to work this out a couple of days ago.  If you want to show more attributes of the bug in the Bugzilla 2.18 bug changed email, you can do the following:
Edit Bugzilla/BugMail.pm.  Find the NewProcessOnePerson sub.  There is a section that sets several values in the $substs [...]]]></description>
			<content:encoded><![CDATA[<p>I spent a while trying to work this out a couple of days ago.  If you want to show more attributes of the bug in the <a href="http://www.bugzilla.org/">Bugzilla</a> 2.18 bug changed email, you can do the following:</p>
<p>Edit <code>Bugzilla/BugMail.pm</code>.  Find the <code>NewProcessOnePerson</code> sub.  There is a section that sets several values in the <code>$substs</code> hash.  The new attributes you want to show need to be added to <code>$substs</code>.  The attributes of the bug can be found in <code>$values</code> (named the same as the columns in the bugs table).  The following example makes the bug product and component attributes available:</p>
<p><code>  $substs{"summary"} = $values{'short_desc'};<br />
  $substs{"reasonsheader"} = join(" ", @reasons);<br />
  $substs{"reasonsbody"} = $reasonsbody;<br />
  $substs{"space"} = " ";<br />
</code><code><br />
  # Added the following lines to allow product and component to be used in bug mail<br />
  $substs{"product"} = $values{'product'};<br />
  $substs{"component"} = $values{'component'};<br />
</code></p>
<p>Once this change is made to the code, edit the <code>newchangedmail</code> parameter (bug changed email template) through the edit parameters admin screen.  You will now be able to use the new values added to <code>$substs</code> as <code>%<em>name</em>%</code>.  For the above example, <code>%product%</code> and <code>%component%</code> can now be added to the template.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.philross.co.uk/2005/08/17/bugzilla-making-more-attributes-available-in-bug-mail/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Simulating views in Ruby on Rails</title>
		<link>http://blog.philross.co.uk/2005/08/17/simulating-views-in-ruby-on-rails/</link>
		<comments>http://blog.philross.co.uk/2005/08/17/simulating-views-in-ruby-on-rails/#comments</comments>
		<pubDate>Tue, 16 Aug 2005 23:02:38 +0000</pubDate>
		<dc:creator>Phil Ross</dc:creator>
				<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://phil.ross.org.uk/?p=11</guid>
		<description><![CDATA[If you want to use views in Ruby on Rails but aren&#8217;t using a database that supports them, I&#8217;ve created a subclass of ActiveRecord::Base that  can simulate selecting from a view in a normal ActiveRecord find.
The extension allows the table names in the from section of queries to be replaced with subqueries specified by [...]]]></description>
			<content:encoded><![CDATA[<p>If you want to use views in <a href="http://www.rubyonrails.com/">Ruby on Rails</a> but aren&#8217;t using a database that supports them, I&#8217;ve created a subclass of <a href="http://api.rubyonrails.com/classes/ActiveRecord/Base.html">ActiveRecord::Base</a> that  can simulate selecting from a view in a normal ActiveRecord find.</p>
<p>The extension allows the table names in the from section of queries to be replaced with subqueries specified by ActiveRecord classes.  The subqueries can do anything that can be done with a view.  ActiveRecords using subqueries can be eager loaded with includes like any normal ActiveRecord.  This allows group bys and aggregate functions to be used without having to write a custom find_by_sql method or load in lots of data.</p>
<p>Download the <a href="http://files.philross.co.uk/blog/baserecord/base_record.rb">code</a> and view the <a href="http://files.philross.co.uk/blog/baserecord/BaseRecord.html">documentation</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.philross.co.uk/2005/08/17/simulating-views-in-ruby-on-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 Things Every Java Programmer Should Know About Ruby</title>
		<link>http://blog.philross.co.uk/2005/08/10/10-things-every-java-programmer-should-know-about-ruby/</link>
		<comments>http://blog.philross.co.uk/2005/08/10/10-things-every-java-programmer-should-know-about-ruby/#comments</comments>
		<pubDate>Wed, 10 Aug 2005 09:37:52 +0000</pubDate>
		<dc:creator>Phil Ross</dc:creator>
				<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://phil.ross.org.uk/?p=9</guid>
		<description><![CDATA[10 Things Every Java Programmer Should Know About Ruby
A useful introduction to Ruby for Java programmers.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://onestepback.org/articles/10things/index.html">10 Things Every Java Programmer Should Know About Ruby</a></p>
<p>A useful introduction to <a href="http://www.ruby-lang.org/en/">Ruby</a> for Java programmers.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.philross.co.uk/2005/08/10/10-things-every-java-programmer-should-know-about-ruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Escape from Yesterworld</title>
		<link>http://blog.philross.co.uk/2005/08/08/escape-from-yesterworld/</link>
		<comments>http://blog.philross.co.uk/2005/08/08/escape-from-yesterworld/#comments</comments>
		<pubDate>Sun, 07 Aug 2005 23:28:36 +0000</pubDate>
		<dc:creator>Phil Ross</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://phil.ross.org.uk/?p=8</guid>
		<description><![CDATA[&#8216;It was a dark world&#8230; where technology fought reason and foiled progress&#8230;&#8217;
A somewhat bizarre advert for Visual Studio and SQL Server:
Escape from Yesterworld
]]></description>
			<content:encoded><![CDATA[<blockquote><p>&#8216;It was a dark world&#8230; where technology fought reason and foiled progress&#8230;&#8217;</p></blockquote>
<p>A somewhat bizarre advert for Visual Studio and SQL Server:</p>
<p><a href="http://www.escapeyesterworld.com/">Escape from Yesterworld</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.philross.co.uk/2005/08/08/escape-from-yesterworld/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Symbolic links in Windows Vista</title>
		<link>http://blog.philross.co.uk/2005/08/06/symbolic-links-in-windows-vista/</link>
		<comments>http://blog.philross.co.uk/2005/08/06/symbolic-links-in-windows-vista/#comments</comments>
		<pubDate>Sat, 06 Aug 2005 11:13:39 +0000</pubDate>
		<dc:creator>Phil Ross</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://phil.ross.org.uk/?p=7</guid>
		<description><![CDATA[From Windows 2000, directory symbolic links (junctions) have been supported in NTFS.
It looks like Windows Vista (Longhorn) may now support proper symbolic links on files as well as directories.  A simple API allows links to be created.
]]></description>
			<content:encoded><![CDATA[<p>From Windows 2000, directory symbolic links (<a href="http://www.sysinternals.com/Utilities/Junction.html">junctions</a>) have been supported in NTFS.</p>
<p>It looks like Windows Vista (Longhorn) may now support proper <a href="http://msdn.microsoft.com/library/en-us/fileio/fs/symbolic_links.asp">symbolic links</a> on files as well as directories.  A simple <a href="http://msdn.microsoft.com/library/en-us/fileio/fs/createsymboliclink.asp">API</a> allows links to be created.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.philross.co.uk/2005/08/06/symbolic-links-in-windows-vista/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
