<?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>ForTheScience.org &#187; Python</title>
	<atom:link href="http://forthescience.org/blog/category/topics/computer-science/languages/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://forthescience.org/blog</link>
	<description>A blog about science and programming</description>
	<lastBuildDate>Thu, 03 May 2012 23:41:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>A raytracer in python – part 4: profiling</title>
		<link>http://forthescience.org/blog/2012/05/04/a-raytracer-in-python-%e2%80%93-part-4-profiling/</link>
		<comments>http://forthescience.org/blog/2012/05/04/a-raytracer-in-python-%e2%80%93-part-4-profiling/#comments</comments>
		<pubDate>Thu, 03 May 2012 22:19:51 +0000</pubDate>
		<dc:creator>Stefano Borini</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Raytracing]]></category>

		<guid isPermaLink="false">http://forthescience.org/blog/?p=1756</guid>
		<description><![CDATA[After having finally obtained a raytracer which produces antialiasing, it is now time to take a look at performance. We already saw some numbers in the last post. Rendering a 200&#215;200 image with 16 samples per pixels (a grand total of 640.000 rays) takes definitely too much. I want to perform some profiling with python, [...]]]></description>
		<wfw:commentRss>http://forthescience.org/blog/2012/05/04/a-raytracer-in-python-%e2%80%93-part-4-profiling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A raytracer in python – part 3: samplers</title>
		<link>http://forthescience.org/blog/2012/02/05/a-raytracer-in-python-%e2%80%93-part-3-samplers/</link>
		<comments>http://forthescience.org/blog/2012/02/05/a-raytracer-in-python-%e2%80%93-part-3-samplers/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 01:02:47 +0000</pubDate>
		<dc:creator>Stefano Borini</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Raytracing]]></category>

		<guid isPermaLink="false">http://forthescience.org/blog/?p=1738</guid>
		<description><![CDATA[In the previous post, we explored a very basic way of plotting images: shooting a ray from the center of every pixel, and plot the color of the object we hit. The result is a rather flat, very jagged image Border jagging arises from the fact that we are sampling with a discrete grid (our [...]]]></description>
		<wfw:commentRss>http://forthescience.org/blog/2012/02/05/a-raytracer-in-python-%e2%80%93-part-3-samplers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A raytracer in python &#8211; part 2: rendering multiple objects</title>
		<link>http://forthescience.org/blog/2011/11/05/a-raytracer-in-python-part-2-rendering-multiple-objects/</link>
		<comments>http://forthescience.org/blog/2011/11/05/a-raytracer-in-python-part-2-rendering-multiple-objects/#comments</comments>
		<pubDate>Sat, 05 Nov 2011 20:18:49 +0000</pubDate>
		<dc:creator>Stefano Borini</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Raytracing]]></category>

		<guid isPermaLink="false">http://forthescience.org/blog/?p=1692</guid>
		<description><![CDATA[A quick addition needed to the raytracer is providing freedom to add more objects to the rendering scene. In Part 1, the design was such that only one object, a sphere, could be drawn. The new code allows much more flexibility. I added a Plane object, introduced assignment of colors to the objects, divided the [...]]]></description>
		<wfw:commentRss>http://forthescience.org/blog/2011/11/05/a-raytracer-in-python-part-2-rendering-multiple-objects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A raytracer in python &#8211; part 1: basic functionality</title>
		<link>http://forthescience.org/blog/2011/09/05/a-raytracer-in-python-part-1-basic-functionality/</link>
		<comments>http://forthescience.org/blog/2011/09/05/a-raytracer-in-python-part-1-basic-functionality/#comments</comments>
		<pubDate>Mon, 05 Sep 2011 21:53:59 +0000</pubDate>
		<dc:creator>Stefano Borini</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Raytracing]]></category>

		<guid isPermaLink="false">http://forthescience.org/blog/?p=1681</guid>
		<description><![CDATA[Some time ago I visited Sydney, and I made a tragic mistake: I entered the University bookshop. Why a mistake, you say? I am book maniac. As soon as I enter a book shop (live or on web) I end up spending up to a thousands euro every time. This time, it was not the [...]]]></description>
		<wfw:commentRss>http://forthescience.org/blog/2011/09/05/a-raytracer-in-python-part-1-basic-functionality/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Mandelbrot set, in python</title>
		<link>http://forthescience.org/blog/2010/07/12/the-mandelbrot-set-in-python/</link>
		<comments>http://forthescience.org/blog/2010/07/12/the-mandelbrot-set-in-python/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 17:02:23 +0000</pubDate>
		<dc:creator>Stefano Borini</dc:creator>
				<category><![CDATA[Fractals]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://forthescience.org/blog/?p=641</guid>
		<description><![CDATA[Hello StumbleUpon users. I am writing two additional posts on the Mandelbrot set, and you may be interested in them. The first one is here. The second one is here. Thank you for your interest! This code is so fascinating from PIL import Image max_iteration = 1000 x_center = -1.0 y_center =  0.0 size = [...]]]></description>
		<wfw:commentRss>http://forthescience.org/blog/2010/07/12/the-mandelbrot-set-in-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using contexts in rdflib</title>
		<link>http://forthescience.org/blog/2009/11/24/using-contexts-in-rdflib/</link>
		<comments>http://forthescience.org/blog/2009/11/24/using-contexts-in-rdflib/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 06:17:00 +0000</pubDate>
		<dc:creator>Stefano Borini</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[RDF]]></category>

		<guid isPermaLink="false">http://forthescience.org/blog/?p=245</guid>
		<description><![CDATA[I am playing with rdflib, a fantastic python library to handle RDF data. I had trouble understanding how to use contexts so to partition my ConjunctiveGraph into independent subgraphs. Here is the code import rdflib from rdflib.Graph import Graph conj=rdflib.ConjunctiveGraph() NS=rdflib.Namespace("http://example.com/#") NS_CTX=rdflib.Namespace("http://example.com/context/#") alice=NS.alice bob=NS.bob charlie=NS.charlie pizza=NS.pizza meat=NS.meat chocolate=NS.chocolate loves=NS.loves hates=NS.hates likes=NS.likes dislikes=NS.dislikes love_ctx=Graph(conj.store, NS_CTX.love) food_ctx=Graph(conj.store, [...]]]></description>
		<wfw:commentRss>http://forthescience.org/blog/2009/11/24/using-contexts-in-rdflib/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Can&#8217;t grok grok. Back to Django.</title>
		<link>http://forthescience.org/blog/2009/10/08/cant-grok-grok-back-to-django/</link>
		<comments>http://forthescience.org/blog/2009/10/08/cant-grok-grok-back-to-django/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 15:29:56 +0000</pubDate>
		<dc:creator>Stefano Borini</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Web frameworks]]></category>

		<guid isPermaLink="false">http://forthescience.org/blog/?p=206</guid>
		<description><![CDATA[I wanted to use Grok for my future development, so I just spent a week trying to do porting of a project from Django to Grok. I had to back off. Grok is very powerful without doubt. However, the learning curve is steep, and I am not talking about &#8220;mountain trekking&#8221; steep, I&#8217;m talking about [...]]]></description>
		<wfw:commentRss>http://forthescience.org/blog/2009/10/08/cant-grok-grok-back-to-django/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pythonic Evolution &#8211; Part 3</title>
		<link>http://forthescience.org/blog/2009/08/01/pythonic-evolution-part-3/</link>
		<comments>http://forthescience.org/blog/2009/08/01/pythonic-evolution-part-3/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 04:22:10 +0000</pubDate>
		<dc:creator>Stefano Borini</dc:creator>
				<category><![CDATA[Evolution]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://forthescience.org/blog/?p=151</guid>
		<description><![CDATA[You are welcome to take a look at Part 1 and Part2 of this series. In this third part of the &#8220;silicon-based&#8221; bacterial evolution, we move to the real action. I developed a program (you can download it from here), which perform evolutive selection based on mathematical criteria.  The program has a set of rules [...]]]></description>
		<wfw:commentRss>http://forthescience.org/blog/2009/08/01/pythonic-evolution-part-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pythonic Evolution &#8211; Part 2</title>
		<link>http://forthescience.org/blog/2009/05/23/pythonic-evolution-part-2/</link>
		<comments>http://forthescience.org/blog/2009/05/23/pythonic-evolution-part-2/#comments</comments>
		<pubDate>Sat, 23 May 2009 23:16:10 +0000</pubDate>
		<dc:creator>Stefano Borini</dc:creator>
				<category><![CDATA[Evolution]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://forthescience.org/blog/?p=95</guid>
		<description><![CDATA[This is the second part of a post relative to evolution. You can find the first part of the post here. The last argument in the first post was relative to the requirements for evolution to happen. To recall, you need An imperfect replicator, an entity able to produce a copy of itself, for example [...]]]></description>
		<wfw:commentRss>http://forthescience.org/blog/2009/05/23/pythonic-evolution-part-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Pythonic Evolution &#8211; Part 1</title>
		<link>http://forthescience.org/blog/2009/05/15/pythonic-evolution-part-1/</link>
		<comments>http://forthescience.org/blog/2009/05/15/pythonic-evolution-part-1/#comments</comments>
		<pubDate>Fri, 15 May 2009 17:54:39 +0000</pubDate>
		<dc:creator>Stefano Borini</dc:creator>
				<category><![CDATA[Evolution]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://forthescience.org/blog/?p=87</guid>
		<description><![CDATA[This post is in different parts. The fact is that it requires quite a lot of time investment, something I really don&#8217;t have in this period. A long time ago I wanted to play with the concept of genetic code, and how it represents nothing but a language to code for molecular machines. As the [...]]]></description>
		<wfw:commentRss>http://forthescience.org/blog/2009/05/15/pythonic-evolution-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

