<?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>Reality tunnels &#187; python</title>
	<atom:link href="http://blog.superadditive.com/tag/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.superadditive.com</link>
	<description>A glimpse into my visual space</description>
	<lastBuildDate>Wed, 16 Dec 2009 09:56:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Planet Sage</title>
		<link>http://blog.superadditive.com/2007/12/13/planet-sage/</link>
		<comments>http://blog.superadditive.com/2007/12/13/planet-sage/#comments</comments>
		<pubDate>Thu, 13 Dec 2007 10:58:06 +0000</pubDate>
		<dc:creator>jmbr</dc:creator>
				<category><![CDATA[mathematics]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://blog.superadditive.com/2007/12/13/planet-sage/</guid>
		<description><![CDATA[There&#8217;s a new blog aggregator dedicated to Sage, it is Planet Sage. Enjoy!]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a new blog aggregator dedicated to <a href="http://www.sagemath.org">Sage</a>, it is <a href="http://planet.sagemath.org/">Planet Sage</a>.  Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.superadditive.com/2007/12/13/planet-sage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interoperability between Source Code Management systems with Tailor</title>
		<link>http://blog.superadditive.com/2006/09/23/interoperability-between-source-code-management-systems-with-tailor/</link>
		<comments>http://blog.superadditive.com/2006/09/23/interoperability-between-source-code-management-systems-with-tailor/#comments</comments>
		<pubDate>Fri, 22 Sep 2006 11:17:41 +0000</pubDate>
		<dc:creator>jmbr</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://blog.superadditive.com/2006/09/23/interoperability-between-source-code-management-systems-with-tailor/</guid>
		<description><![CDATA[Tailor is an application that lets you migrate changesets between different kinds of source code repositories. It is written in Python and supports most open source SCM systems. With Tailor you can: Create a local repository using your favorite source control system of a project managed by another source control system. Do your work. Export [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://progetti.arstecnica.it/tailor" title="Tailor">Tailor</a> is an application that lets you migrate changesets between different kinds of source code repositories. It is written in Python and supports most open source SCM systems.</p>
<p>With Tailor you can:</p>
<ol>
<li>Create a local repository using your favorite source control system of a project managed by another source control system.</li>
<li>Do your work.</li>
<li>Export your changes back to the original repository.</li>
</ol>
<p>Here&#8217;s an example of using Tailor to import a branch of <a href="http://www.axiom-developer.org" title="Axiom, my open source computer algebra system of choice">Axiom</a> (uses <a href="http://subversion.tigris.org/">Subversion</a>) into a local <a href="http://darcs.net" title="darcs revision control system">darcs</a> repository:</p>
<p>First of all, we create a configuration file for the project</p>
<p>$ tailor &#8211;verbose &#8211;source-kind svn &#8211;target-kind darcs \<br />
&#8211;source-repository https://svn.sourceforge.net/svnroot/axiom \<br />
&#8211;source-module branches/build-improvements \<br />
&#8211;start-revision INITIAL \<br />
&#8211;target-repository file:///home/rwx/lab/math/axiom/axiom-darcs/ \<br />
&#8211;target-module axiom-build-improvements axiom-build-improvements \<br />
&gt; axiom-build-improvements.tailor</p>
<p>Now that we have the config file stored in <em>axiom-build-improvements.tailor</em>, we can launch the tool to do the initial import</p>
<p>$ tailor &#8211;configfile=axiom-build-improvements.tailor</p>
<p>After a while, we have a local darcs repository for that branch and we can write:</p>
<p>$ darcs get ~/lab/math/axiom/axiom-darcs</p>
<p>to get a working copy in which to do your modifications.</p>
<p>Today, there are a myriad of SCM tools available and projects like Tailor will become increasingly important because they let you stick to your tools of choice. In this way, instead of learning the details of other source control systems, you can focus on what you do best: writing code.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.superadditive.com/2006/09/23/interoperability-between-source-code-management-systems-with-tailor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Halberd screen shots</title>
		<link>http://blog.superadditive.com/2006/09/20/halberd-screen-shots/</link>
		<comments>http://blog.superadditive.com/2006/09/20/halberd-screen-shots/#comments</comments>
		<pubDate>Tue, 19 Sep 2006 10:28:29 +0000</pubDate>
		<dc:creator>jmbr</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://blog.superadditive.com/2006/09/20/halberd-screen-shots/</guid>
		<description><![CDATA[Because a picture is worth a thousand words I uploaded some screen shots of halberd in action]]></description>
			<content:encoded><![CDATA[<p>Because a picture is worth a thousand words I uploaded <a title="halberd screen shots" href="http://halberd.superadditive.com/screenshots/">some screen shots of halberd in action</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.superadditive.com/2006/09/20/halberd-screen-shots/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Halberd 0.2.1 is out!</title>
		<link>http://blog.superadditive.com/2006/08/25/halberd-021-is-out/</link>
		<comments>http://blog.superadditive.com/2006/08/25/halberd-021-is-out/#comments</comments>
		<pubDate>Thu, 24 Aug 2006 22:41:37 +0000</pubDate>
		<dc:creator>jmbr</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://blog.superadditive.com/2006/08/25/halberd-021-is-out/</guid>
		<description><![CDATA[I just released the next revision (0.2.1) of halberd, my load balancer detection tool. If you&#8217;re curious about the way the program works, you can read this part of the user&#8217;s guide. Halberd has been tested in real world scenarios for quite some time and it seems to be solid. I hope the wider audience [...]]]></description>
			<content:encoded><![CDATA[<p>I just released the next revision (0.2.1) of <a href="http://halberd.superadditive.com/">halberd</a>, my load balancer detection tool.  If you&#8217;re curious about the way the program works, you can read <a href="http://halberd.superadditive.com/doc/manual/node4.html">this part of the user&#8217;s guide</a>.</p>
<p>Halberd has been tested in real world scenarios for quite some time and it seems to be solid.  I hope the wider audience it is gaining now will uncover some bugs and after fixing those I&#8217;ll think of it as stable software.  Future work could happen in the following areas:</p>
<ul>
<li>Clustering algorithm</li>
<ul>
<li>The module Halberd.clues.analysis currently implements an ad-hoc hierarchical clustering algorithm to isolate possible real servers. I would like halberd to report to the user the degree of trust he should place in its conclusions.</li>
<li>I think the way to go would be to test some algorithms in <a href="http://www.r-project.org">R</a> (fuzzy clustering comes to mind) using real world data and see what works best before implementing anything.</li>
</ul>
<li>SSL session reuse</li>
<ul>
<li>When an SSL/TLS session begins, the server issues an SSL session ID to the client.  This ID will be used to resume transactions between client and server (remember the stateless nature of HTTP).</li>
<li>Some load balancers can keep track of which real server dealt with which SSL session and direct the client to the right server (the one having the client&#8217;s session ID in its cache). This could be used by halberd as an extra technique to enumerate real servers.</li>
</ul>
<li>Test suite improvements</li>
<ul>
<li>The test harness is tied to my own development environment. This should change.</li>
<li>More tests never hurt.</li>
</ul>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.superadditive.com/2006/08/25/halberd-021-is-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First public release of halberd</title>
		<link>http://blog.superadditive.com/2006/08/18/first-public-release-of-halberd/</link>
		<comments>http://blog.superadditive.com/2006/08/18/first-public-release-of-halberd/#comments</comments>
		<pubDate>Thu, 17 Aug 2006 15:36:00 +0000</pubDate>
		<dc:creator>jmbr</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://blog.superadditive.com/2006/08/18/first-public-release-of-halberd/</guid>
		<description><![CDATA[Halberd is a tool I wrote two years ago to detect HTTP load balancers. I recently decided I should polish it, write some documentation and release it. You can be use halberd as a stand-alone command or as a Python module to be imported by other software. Here it is for your enjoyment.]]></description>
			<content:encoded><![CDATA[<p>Halberd is a tool I wrote two years ago to detect HTTP load balancers. I recently decided I should polish it, write some documentation and release it.</p>
<p>You can be use halberd as a stand-alone command or as a Python module to be imported by other software.</p>
<p><a href="http://halberd.superadditive.com">Here it is</a> for your enjoyment.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.superadditive.com/2006/08/18/first-public-release-of-halberd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python code coverage revisited</title>
		<link>http://blog.superadditive.com/2004/12/13/python-code-coverage-revisited/</link>
		<comments>http://blog.superadditive.com/2004/12/13/python-code-coverage-revisited/#comments</comments>
		<pubDate>Tue, 14 Dec 2004 00:57:29 +0000</pubDate>
		<dc:creator>jmbr</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://blog.superadditive.com/2004/12/13/python-code-coverage-revisited/</guid>
		<description><![CDATA[Yesterday Ned Batchelder published an updated version of the code coverage tool for Python I mentioned in a past entry.]]></description>
			<content:encoded><![CDATA[<p>Yesterday <a href="http://www.nedbatchelder.com">Ned Batchelder</a> published an updated version of the <a href="http://www.nedbatchelder.com/code/modules/coverage.html">code coverage tool for Python</a> I mentioned in a past <a href="http://blog.superadditive.com/2004/05/15/python-code-coverage-and-reverse-engineering/">entry</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.superadditive.com/2004/12/13/python-code-coverage-revisited/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python code coverage and reverse engineering</title>
		<link>http://blog.superadditive.com/2004/05/15/python-code-coverage-and-reverse-engineering/</link>
		<comments>http://blog.superadditive.com/2004/05/15/python-code-coverage-and-reverse-engineering/#comments</comments>
		<pubDate>Sat, 15 May 2004 08:02:37 +0000</pubDate>
		<dc:creator>jmbr</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://blog.superadditive.com/2004/05/15/python-code-coverage-and-reverse-engineering/</guid>
		<description><![CDATA[I just found this Python coding style guidelines and I want to comment on the following paragraph regarding changing a function/method&#8217;s behaviour: Even with unit testing, it&#8217;s really hard to track dependencies like this. We would need code coverage tools and exhaustive tests, neither of which we had. I also find it hard to track [...]]]></description>
			<content:encoded><![CDATA[<p>I just found <a href="http://lists.osafoundation.org/pipermail/dev/2003-March/000479.html">this Python coding style guidelines</a> and I want to comment on the following paragraph regarding changing a function/method&#8217;s behaviour:</p>
<blockquote><p>Even with unit testing, it&#8217;s really hard to track dependencies like this. We would need code coverage tools and exhaustive tests, neither of which we had.</p>
</blockquote>
<p>I also find it hard to track dependencies in Python code and I&#8217;m aware of, at least, one <a href="http://www.ravenbrook.com/project/p4dti/master/test/coverage.py">code coverage tool for Python</a> useful for improving test suites (but try to avoid some <a href="http://www.testing.com/writings/coverage.pdf">common pitfalls</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.superadditive.com/2004/05/15/python-code-coverage-and-reverse-engineering/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Parsing incorrect HTML</title>
		<link>http://blog.superadditive.com/2004/05/10/parsing-incorrect-html/</link>
		<comments>http://blog.superadditive.com/2004/05/10/parsing-incorrect-html/#comments</comments>
		<pubDate>Mon, 10 May 2004 08:02:37 +0000</pubDate>
		<dc:creator>jmbr</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://blog.superadditive.com/2004/05/10/parsing-incorrect-html/</guid>
		<description><![CDATA[TidyLib provides a command-line tool and a library to turn badly formed HTML/XHTML pages into standards compliant ones. Aside from the point of view of the webmaster who wants to make sure his website is well-formed this package is also useful for web client developers who want to sanitize invalid HTML before feeding it to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://tidy.sourceforge.net">TidyLib</a> provides a command-line tool and a library to turn badly formed HTML/XHTML pages into standards compliant ones.</p>
<p>Aside from the point of view of the webmaster who wants to make sure his website is well-formed this package is also useful for web client developers who want to sanitize invalid HTML before feeding it to their parsers.</p>
<p>There&#8217;s even a Python interface called <a href="http://utidylib.sourceforge.net">uTidyLib</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.superadditive.com/2004/05/10/parsing-incorrect-html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
