<?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>For The Love Of...</title>
	<atom:link href="http://fortheloveof.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://fortheloveof.co.uk</link>
	<description></description>
	<lastBuildDate>Sun, 23 May 2010 18:59:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Synchronizing threads in Java</title>
		<link>http://fortheloveof.co.uk/2010/05/21/synchronizing-threads-in-java/</link>
		<comments>http://fortheloveof.co.uk/2010/05/21/synchronizing-threads-in-java/#comments</comments>
		<pubDate>Fri, 21 May 2010 20:33:59 +0000</pubDate>
		<dc:creator>Lubo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming languages]]></category>
		<category><![CDATA[synchronize]]></category>
		<category><![CDATA[thread]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://fortheloveof.co.uk/?p=336</guid>
		<description><![CDATA[This is post handling synchronization of Java threads is made as the follow-up of Creating threads in Java.
There we had the situation that our threads evens and odds weren&#8217;t running smoothly. A solution for that is adding a time-out after the thread&#8217;s main task. We&#8217;ll do this by calling the static method sleep(int millis) of [...]]]></description>
			<content:encoded><![CDATA[<p>This is post handling synchronization of Java threads is made as the follow-up of <a href="http://fortheloveof.co.uk/2010/05/21/creating-threads-in-java/">Creating threads in Java</a>.<br />
There we had the situation that our threads <kbd>evens</kbd> and <kbd>odds</kbd> weren&#8217;t running smoothly. A solution for that is adding a time-out after the thread&#8217;s main task. We&#8217;ll do this by calling the static method <kbd>sleep(int millis)</kbd> of class <kbd>Thread</kbd> which will cause the thread it&#8217;s been called by to sleep for <kbd>millis</kbd> milliseconds. As this method throws an exception we also need to catch it and preferably handle it.<br />
<span id="more-336"></span></p>
<pre class="brush: java">
public class EvenPrinter extends Thread {

	public void run(){
		// what does this thread
		// aimlessly print out even numbers
		for(int i=0; i&lt;Integer.MAX_VALUE; i+=2){
			System.out.println(i);
			try{
				// let it sleep for 1.5 seconds
				Thread.sleep(1500);
			}
			catch(InterruptedException ie){}
		}
	}

}

public class OddPrinter implements Runnable {

	public void run() {
		// what does this thread
		// aimlessly print out odd numbers
		for(int i=1; i&lt;Integer.MAX_VALUE; i+=2){
			System.out.println(i);
			try{
				// let it sleep for 1.5 seconds
				Thread.sleep(1500);
			}
			catch(InterruptedException ie){}
		}
	}

}

public class PrinterTest {

	public static void main(String[] args){
		// create our thread
		EvenPrinter evens = new EvenPrinter();
		// and start it
		evens.start();
		// create our new Runnable
                OddPrinter op = new OddPrinter();
                // use it to create a new Thread
                Thread odds = new Thread(op);
                // start it
                odds.start();
	}

}
</pre>
<p>Now after running <kbd>PrinterText</kbd> you should be able to see all the number starting from 0 in the correct order printed on the console.</p>
<p>In case we&#8217;d rather like to have first the even numbers printed and then the odds, we have a solution for that too and that&#8217;s the method <kbd>join()</kbd> inherited from <kbd>Thread</kbd>. The thread calling that method will &#8220;join&#8221; the <kbd>main</kbd> thread which is the highest in the threads&#8217; hierarchy and all other threads are run inside the <kbd>main</kbd> thread and that will pull its execution first.</p>
<pre class="brush: java">
public class PrinterTest {

	public static void main(String[] args){
		// create our thread
		EvenPrinter evens = new EvenPrinter();
		// and start it
		evens.start();
		try {
			// join this thread to the main thread
			evens.join();
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		// create our new Runnable
                OddPrinter op = new OddPrinter();
                // use it to create a new Thread
                Thread odds = new Thread(op);
                // start it
                odds.start();
	}

}
</pre>
<p>Now if you have the patience to wait for all even numbers to be printed out you&#8217;ll see the odds coming afterward&#8230; Or you could always reduce the interval by replacing <kbd>Integer.MAX_VALUE</kbd> by a smaller integer ;-)</p>
]]></content:encoded>
			<wfw:commentRss>http://fortheloveof.co.uk/2010/05/21/synchronizing-threads-in-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating threads in Java</title>
		<link>http://fortheloveof.co.uk/2010/05/21/creating-threads-in-java/</link>
		<comments>http://fortheloveof.co.uk/2010/05/21/creating-threads-in-java/#comments</comments>
		<pubDate>Fri, 21 May 2010 15:22:21 +0000</pubDate>
		<dc:creator>Lubo</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming languages]]></category>
		<category><![CDATA[thread]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://fortheloveof.co.uk/?p=243</guid>
		<description><![CDATA[Concurrency is a really great concept &#8211; multi-tasking and event handling are just two of the many spots it finds application and are amongst those things that makes computers stand nowadays where they are. Almost every operating system supports processes &#8211; various running programs, which to a certain extent are separated from each other.

Threading on [...]]]></description>
			<content:encoded><![CDATA[<p>Concurrency is a really great concept &#8211; multi-tasking and event handling are just two of the many spots it finds application and are amongst those things that makes computers stand nowadays where they are. Almost every operating system supports processes &#8211; various running programs, which to a certain extent are separated from each other.<br />
<span id="more-243"></span><br />
Threading on the other hand gives us the opportunity of multiple activities to run simultaneously in a single process. Threads are independently executed parts of a program and there can be many of them running within the same program. This concept has been around for years now and many of the latest operating systems are supporting it. Threads are also referred to as &#8220;lightweight processes&#8221;, which have stacks, program counters and local variables of their own. Unlike processes, threads running in the same process are less insulated from each other as they share memory, file-handles and others.</p>
<p>Java is the first mainstream language that implements  threading explicitly instead of leaving that job to the operating system. A Java program can have many threads as all threads have been taken care of by the class <strong>java.lang.Thread</strong>. All threads run concurrently and asynchronously, but mostly there is the option to synchronize them.</p>
<p>As with many other things in Java with threads there isn&#8217;t only one way of creating them. We&#8217;re provided with two options:</p>
<h3>1. Extending the class <strong>Thread</strong></h3>
<p>One of the shortest ways to creating your threads is extending the <kbd>Thread</kbd> class and overwriting the <kbd>run()</kbd> function. Let&#8217;s have a look at the following example &#8211; a class that will print out all the even number, of course only in the limits of Java&#8217;s simple type <kbd>int</kbd>.</p>
<pre class="brush: java">
public class EvenPrinter extends Thread {	

	public void run(){
		// what does this thread
		// aimlessly print out even numbers
		for(int i=0; i&lt;Integer.MAX_VALUE; i+=2){
			System.out.println(i);
		}
	}

}

public class PrinterTest {

	public static void main(String[] args){
		// create our thread
		EvenPrinter evens = new EvenPrinter();
		// and start it
		evens.start();
	}

}
</pre>
<p>In the main method of the <kbd>PrinterTest</kbd> class you can see how we initialize our thread and put it to action.</p>
<p>Let&#8217;s now have a look at the option we have to create a thread in Java:</p>
<h3>2. Implementing the interface <strong>Runnable</strong></h3>
<p>If we go for this option, our class will have to implement the interface <kbd>Runnable</kbd> and we&#8217;ll need to implement the function <kbd>run()</kbd>. Further in our program we&#8217;d need to create a new instance of our class and then create a new thread, passing our runnable object to the constructor.</p>
<pre class="brush: java">
public class OddPrinter implements Runnable {

	public void run() {
		// what does this thread
		// aimlessly print out odd numbers
		for(int i=1; i&lt;Integer.MAX_VALUE; i+=2){
			System.out.println(i);
		}
	}

}

public class PrinterTest {

	public static void main(String[] args){
		// create our thread
		EvenPrinter evens = new EvenPrinter();
		// and start it
		evens.start();

		// create our new Runnable
                OddPrinter op = new OddPrinter();
                // use it to create a new Thread
                Thread odds = new Thread(op);
                // start it
                odds.start();
	}

}
</pre>
<p>Now if you&#8217;ve accidentally tried to run the last code of <kbd>PrinterTest</kbd> you&#8217;ve realized that both threads <kbd>evens</kbd> as well as <kbd>odds</kbd> are running very fast and slightly chaotic. Don&#8217;t worry there&#8217;s a remedy for that too and if you&#8217;re in the mood to follow, go to <a href="http://fortheloveof.co.uk/2010/05/21/synchronizing-threads-in-java/">Synchronizing threads in Java</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://fortheloveof.co.uk/2010/05/21/creating-threads-in-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plot symbols in R</title>
		<link>http://fortheloveof.co.uk/2010/05/09/plot-symbols-in-r/</link>
		<comments>http://fortheloveof.co.uk/2010/05/09/plot-symbols-in-r/#comments</comments>
		<pubDate>Sun, 09 May 2010 20:13:48 +0000</pubDate>
		<dc:creator>Lubo</dc:creator>
				<category><![CDATA[Programming languages]]></category>
		<category><![CDATA[R]]></category>
		<category><![CDATA[plot]]></category>
		<category><![CDATA[plotting]]></category>
		<category><![CDATA[symbols]]></category>

		<guid isPermaLink="false">http://fortheloveof.co.uk/?p=211</guid>
		<description><![CDATA[There&#8217;s a rich variety of plotting symbols for all basic plotting functions from the graphics package in R. You need to set the pch parameter in the call of the plotting routine. It&#8217;s an integer set by default to one and usually having a value between 0 and 25.


 0:18 &#8211; S compatible plot symbols
19:25 [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a rich variety of plotting symbols for all basic plotting functions from the <kbd>graphics</kbd> package in R. You need to set the <kbd>pch</kbd> parameter in the call of the plotting routine. It&#8217;s an integer set by default to one and usually having a value between 0 and 25.</p>
<p><a href="http://fortheloveof.co.uk/wp-content/uploads/R-plot-symbols-1-25.jpg"><img class="aligncenter size-full wp-image-210" title="R plot symbols 1-25" src="http://fortheloveof.co.uk/wp-content/uploads/R-plot-symbols-1-25.jpg" alt="" width="460" height="419" /></a></p>
<ul>
<li> 0:18 &#8211; S compatible plot symbols</li>
<li>19:25 &#8211; further R plot symbols</li>
<li>26:31 &#8211; unused &#8211; a value from this range will be ignored</li>
<li>32:127 &#8211; ASCII characters</li>
</ul>
<p>For more detailed information please check the manual for the <kbd>points</kbd> function.</p>
]]></content:encoded>
			<wfw:commentRss>http://fortheloveof.co.uk/2010/05/09/plot-symbols-in-r/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>R: Extract matrix rows by matching values in different columns</title>
		<link>http://fortheloveof.co.uk/2010/04/12/r-extract-matrix-rows-by-matching-values-in-different-columns/</link>
		<comments>http://fortheloveof.co.uk/2010/04/12/r-extract-matrix-rows-by-matching-values-in-different-columns/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 12:17:14 +0000</pubDate>
		<dc:creator>Lubo</dc:creator>
				<category><![CDATA[Programming languages]]></category>
		<category><![CDATA[R]]></category>
		<category><![CDATA[elements]]></category>
		<category><![CDATA[extract]]></category>
		<category><![CDATA[matrix]]></category>
		<category><![CDATA[rows]]></category>
		<category><![CDATA[vector]]></category>

		<guid isPermaLink="false">http://fortheloveof.co.uk/?p=75</guid>
		<description><![CDATA[Recently I needed a SQL-&#8221;select * where&#8221;-query-like way to extract rows of a matrix by matching values of specific columns, something like:
SELECT * FROM `tablename` WHERE `column_a`=&#8217;x&#8217; AND `col_b`=&#8217;y&#8217;
I already knew how to use the extract function (using the []) to get a part of matrix or vector by matching single logical condition on all [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I needed a SQL-&#8221;select * where&#8221;-query-like way to extract rows of a matrix by matching values of specific columns, something like:</p>
<p><samp>SELECT * FROM `tablename` WHERE `column_a`=&#8217;x&#8217; AND `col_b`=&#8217;y&#8217;</samp></p>
<p>I already knew how to use the <kbd>extract</kbd> function (using the <kbd>[]</kbd>) to get a part of matrix or vector by matching single logical condition on all matrix elements. And that in two ways &#8211; more about selecting elements and finding indexes of elements see the post about <a href="http://fortheloveof.co.uk/2010/04/11/r-select-specific-elements-or-find-their-index-in-a-vector-or-a-matrix/">how to select elements or find their index in a vector or a matrix in R</a>.</p>
<p><span id="more-75"></span><br />
Let&#8217;s use the same example matrix:</p>
<p><code lang="matlab">x<-matrix( c(.007, 0.012, .022, 0.000, .005, 0.112, .027, 1.000, .037, .001, .061, .055), nrow=4, ncol=3, byrow=TRUE )</code><br />
which (again) looks like that:</p>
<p>[,1]      [,2]     [,3]<br />
[1,] 0.007      0.012      0.022<br />
[2,] 0.000   0.005  0.112<br />
[3,] 0.027       1.000      0.037<br />
[4,] 0.001   0.061      0.055</p>
<p>Say, we're only interested in those rows of the matrix with values in the 2nd and in the 3rd column greater than 0.05. Well that's fairly easy and we can also do it in both ways - using simple logical expression or using the <kbd>which()</kbd> function.<br />
Using the first:</p>
<p><code lang="matlab"><br />
x[ x[,2]>0.05 &#038;&#038; x[,3]>0.05 ]<br />
</code></p>
<p>But if we need the row and column index of the matrix (or simply the index if extracting from vector) of the matches we go the second way - using <kbd>which()</kbd>:</p>
<p><code lang="matlab">indx<-which(x[,2]>0.05 &#038;&#038; x[,3]>0.05)<br />
# indx[ ,1] contains the row index of the matches<br />
# indx[ ,2] contains the column index of the matches</p>
<p># extract the desired elements from the matrix<br />
x[indx]<br />
</code></p>
<p>And of course, no matter which way you use for your needs you can alternatively have longer and more complicated logical expressions.</p>
]]></content:encoded>
			<wfw:commentRss>http://fortheloveof.co.uk/2010/04/12/r-extract-matrix-rows-by-matching-values-in-different-columns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>R: Select specific elements or find their index in a vector or a matrix</title>
		<link>http://fortheloveof.co.uk/2010/04/11/r-select-specific-elements-or-find-their-index-in-a-vector-or-a-matrix/</link>
		<comments>http://fortheloveof.co.uk/2010/04/11/r-select-specific-elements-or-find-their-index-in-a-vector-or-a-matrix/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 14:41:51 +0000</pubDate>
		<dc:creator>Lubo</dc:creator>
				<category><![CDATA[Programming languages]]></category>
		<category><![CDATA[R]]></category>

		<guid isPermaLink="false">http://fortheloveof.co.uk/?p=113</guid>
		<description><![CDATA[As the title suggests in this post I&#8217;d like to explain something very basic and very essential. In R (as in other languages) you may do things in different ways. Sometimes it doesn&#8217;t matter which way you choose, but sometimes it really does. Once you&#8217;d need to extract elements from vector or matrix, another time [...]]]></description>
			<content:encoded><![CDATA[<p>As the title suggests in this post I&#8217;d like to explain something very basic and very essential. In R (as in other languages) you may do things in different ways. Sometimes it doesn&#8217;t matter which way you choose, but sometimes it really does. Once you&#8217;d need to extract elements from vector or matrix, another time you&#8217;d like to know the index of a specific element.<br />
Say we have the following matrix:</p>
<p><code>x &lt;- matrix( c(.007, 0.012, .022, 0.000, .005, 0.112, .027, 1.000, .037, .001, .061, .055), nrow=4, ncol=3, byrow=TRUE )</code></p>
<p><code> <span id="more-113"></span></code></p>
<p>which looks like that:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[,1]         [,2]        [,3]<br />
[1,]  0.007     0.012     0.022<br />
[2,]  0.000     0.005     0.112<br />
[3,]  0.027     1.000     0.037<br />
[4,]  0.001     0.061     0.055</p>
<p><strong>1.</strong> You can use a logical condition to extract elements of vector or matrix. In the following we&#8217;d like to know which elements in our matrix <kbd>x</kbd> are greater than 0.05</p>
<p><code>y &lt;- x&gt;0.05</code><br />
<code>y</code></p>
<p>The logical expression <kbd>x &gt; 0.05</kbd> will deliver a matrix (as x in our case is a matrix) with the same dimensions as x and which contains values of boolean type:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[,1]     [,2]     [,3]<br />
[1,] FALSE FALSE FALSE<br />
[2,] FALSE FALSE  TRUE<br />
[3,] FALSE  TRUE FALSE<br />
[4,] FALSE  TRUE  TRUE</p>
<p>and when you match the matrix <kbd>x</kbd> with the logical result matrix <kbd>y</kbd>:</p>
<p><code>x[y]</code></p>
<p>you get a vector with the values matching our logical expression <kbd>x &gt; 0.05</kbd>:<br />
<samp>[1] 1.000 0.061 0.112 0.055</samp></p>
<p><strong>2.</strong> Alternatively or for other purposes you may also use the <kbd>which()</kbd> function.</p>
<p><code>y &lt;- which(x&gt;0.05)</code><br />
<code>y</code></p>
<p><samp>[1]  7  8 10 12</samp><br />
As you can see it returns the index(es) of the match(es). And if you&#8217;re searching in a matrix as in our case, the result will be a vector of indexes, as the matrix is automatically converted to vector by R. That&#8217;s made in R&#8217;s default way by concatenating the columns and it leads to the conclusion that <kbd>which(x) == which(as.vector(x))</kbd>. If you however would rather like to know the row and colum index, you&#8217;ll need to set the function&#8217;s argument <kbd>arr.in</kbd> to <kbd>TRUE</kbd>.</p>
<p><code>y &lt;- which(x&gt;0.05, arr.in=TRUE)</code><br />
<code>y</code><br />
<samp> row  col<br />
[1,]   3  2<br />
[2,]   4  2<br />
[3,]   2  3<br />
[4,]   4  3</samp></p>
<p>Now that&#8217;s what I&#8217;d call a better result. And of course you can use the which function to extract elements of a vector or a matrix.</p>
<p><code>x[y]</code></p>
<p>is the same as the shorter and memory saving way:</p>
<p><code>x[which(x&gt;0.05)]</code></p>
]]></content:encoded>
			<wfw:commentRss>http://fortheloveof.co.uk/2010/04/11/r-select-specific-elements-or-find-their-index-in-a-vector-or-a-matrix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Circles 1 Photoshop Brushes</title>
		<link>http://fortheloveof.co.uk/2008/12/26/circles-1-photoshop-brushes/</link>
		<comments>http://fortheloveof.co.uk/2008/12/26/circles-1-photoshop-brushes/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 15:53:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Photoshop Brushes]]></category>

		<guid isPermaLink="false">http://fortheloveof.co.uk/?p=36</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><a href="http://fortheloveof.co.uk/downloads/Circle_Brushes_1.zip" target="_blank"><img class="alignnone size-medium wp-image-37" title="circles-1-brushes" src="http://fortheloveof.co.uk/wp-content/uploads/circles-1-brushes-300x225.jpg" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://fortheloveof.co.uk/2008/12/26/circles-1-photoshop-brushes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Swirls 1 Photoshop Brushes</title>
		<link>http://fortheloveof.co.uk/2008/12/26/swirls-1-photoshop-brushes/</link>
		<comments>http://fortheloveof.co.uk/2008/12/26/swirls-1-photoshop-brushes/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 15:51:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Photoshop Brushes]]></category>

		<guid isPermaLink="false">http://fortheloveof.co.uk/?p=33</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><a href="http://fortheloveof.co.uk/downloads/Vector_Swirls_Pack_1_by_LMSD.zip" target="_blank"><img class="alignnone size-medium wp-image-34" title="swirls1" src="http://fortheloveof.co.uk/wp-content/uploads/swirls1-300x225.jpg" alt="" width="300" height="225" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://fortheloveof.co.uk/2008/12/26/swirls-1-photoshop-brushes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Orchid Photoshop brushes</title>
		<link>http://fortheloveof.co.uk/2008/12/26/orchid-photoshop-brushes/</link>
		<comments>http://fortheloveof.co.uk/2008/12/26/orchid-photoshop-brushes/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 15:46:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Photoshop Brushes]]></category>

		<guid isPermaLink="false">http://fortheloveof.co.uk/?p=30</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><a href="http://fortheloveof.co.uk/downloads/Orchid_Brushes_by_LMSD.zip" target="_blank"><img class="alignnone size-medium wp-image-31" title="orchids" src="http://fortheloveof.co.uk/wp-content/uploads/orchids-300x225.jpg" alt="" width="300" height="225" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://fortheloveof.co.uk/2008/12/26/orchid-photoshop-brushes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stars 1 Photoshop Brushes</title>
		<link>http://fortheloveof.co.uk/2008/12/26/stars-1-photoshop-brushes/</link>
		<comments>http://fortheloveof.co.uk/2008/12/26/stars-1-photoshop-brushes/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 15:42:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Photoshop Brushes]]></category>

		<guid isPermaLink="false">http://fortheloveof.co.uk/?p=26</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><a href="http://fortheloveof.co.uk/downloads/Stars_1_Brush_Pack_by_LMSD.zip" target="_blank"><img class="alignnone size-medium wp-image-27" title="stars_1_brush_pack_by_lmsd" src="http://fortheloveof.co.uk/wp-content/uploads/stars_1_brush_pack_by_lmsd-300x225.jpg" alt="" width="300" height="225" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://fortheloveof.co.uk/2008/12/26/stars-1-photoshop-brushes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Light Brushes 1</title>
		<link>http://fortheloveof.co.uk/2008/12/26/light-brushes-1/</link>
		<comments>http://fortheloveof.co.uk/2008/12/26/light-brushes-1/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 15:38:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Photoshop Brushes]]></category>

		<guid isPermaLink="false">http://fortheloveof.co.uk/?p=23</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><a href="http://fortheloveof.co.uk/downloads/Light_Brushes_1_by_LMSD.zip" target="_blank"><img class="alignnone size-medium wp-image-24" title="light_brushes_1" src="http://fortheloveof.co.uk/wp-content/uploads/light_brushes_1-300x225.jpg" alt="" width="300" height="225" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://fortheloveof.co.uk/2008/12/26/light-brushes-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Versatile Photoshop Brushes</title>
		<link>http://fortheloveof.co.uk/2008/12/26/versatile-photoshop-brushes/</link>
		<comments>http://fortheloveof.co.uk/2008/12/26/versatile-photoshop-brushes/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 14:12:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Photoshop Brushes]]></category>

		<guid isPermaLink="false">http://fortheloveof.co.uk/?p=19</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><a href="http://fortheloveof.co.uk/downloads/Versatile_Brush_Pack_by_LMSD.zip" target="_blank"><img class="alignnone size-medium wp-image-20" title="versatile_brushes" src="http://fortheloveof.co.uk/wp-content/uploads/versatile_brushes-300x225.jpg" alt="" width="300" height="225" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://fortheloveof.co.uk/2008/12/26/versatile-photoshop-brushes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Cosmic Photoshop Brushes</title>
		<link>http://fortheloveof.co.uk/2008/12/26/cosmic-photoshop-brushes/</link>
		<comments>http://fortheloveof.co.uk/2008/12/26/cosmic-photoshop-brushes/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 14:07:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Photoshop Brushes]]></category>

		<guid isPermaLink="false">http://fortheloveof.co.uk/?p=13</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><a href="http://fortheloveof.co.uk/downloads/Cosmic_Brushes_by_LMSD.zip" target="_blank"><img class="size-medium wp-image-16 alignleft" title="cosmic_brushes" src="http://fortheloveof.co.uk/wp-content/uploads/cosmic_brushes-300x225.jpg" alt="" width="300" height="225" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://fortheloveof.co.uk/2008/12/26/cosmic-photoshop-brushes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
