<?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>Scott Yang's Playground &#187; Python</title>
	<atom:link href="http://scott.yang.id.au/tag/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://scott.yang.id.au</link>
	<description>Faith, Technology and Randomness in Life, According to Scott</description>
	<lastBuildDate>Mon, 05 Jul 2010 05:16:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Python 2.7 released</title>
		<link>http://scott.yang.id.au/2010/07/python-2-7-released/</link>
		<comments>http://scott.yang.id.au/2010/07/python-2-7-released/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 21:02:40 +0000</pubDate>
		<dc:creator>scotty</dc:creator>
				<category><![CDATA[Quickies]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://scott.yang.id.au/2010/07/python-2-7-released/</guid>
		<description><![CDATA[Python 2.7 has just been released, on Anna&#8217;s birthday :) it&#8217;s going to be the last 2.x release. Time to start picking on 3.x?]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.python.org/download/releases/2.7/">Python 2.7 has just been released</a>, on Anna&#8217;s birthday :) it&#8217;s going to be the last 2.x release. Time to start picking on 3.x?</p>
]]></content:encoded>
			<wfw:commentRss>http://scott.yang.id.au/2010/07/python-2-7-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EveryDNS Python API</title>
		<link>http://scott.yang.id.au/2009/03/everydns-python-api/</link>
		<comments>http://scott.yang.id.au/2009/03/everydns-python-api/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 12:49:48 +0000</pubDate>
		<dc:creator>scotty</dc:creator>
				<category><![CDATA[Quickies]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[EveryDNS]]></category>
		<category><![CDATA[HostingFu]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://scott.yang.id.au/?p=1914</guid>
		<description><![CDATA[HostingFu &#8212; EveryDNS Python API and Command Shell. A Python library I wrote to provide API access to EveryDNS, a free DNS hosting service. Very useful if you need to change IP address to a few dozen DNS records.]]></description>
			<content:encoded><![CDATA[<p><a href="http://hostingfu.com/article/everydns-python-api-and-command-shell">HostingFu &#8212; EveryDNS Python API and Command Shell</a>. A Python library I wrote to provide API access to <a href="http://www.everydns.net/">EveryDNS</a>, a free DNS hosting service. <em>Very</em> useful if you need to change IP address to a few dozen DNS records.</p>
]]></content:encoded>
			<wfw:commentRss>http://scott.yang.id.au/2009/03/everydns-python-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python 2.6 Released</title>
		<link>http://scott.yang.id.au/2008/10/python-26-released/</link>
		<comments>http://scott.yang.id.au/2008/10/python-26-released/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 07:06:04 +0000</pubDate>
		<dc:creator>scotty</dc:creator>
				<category><![CDATA[Quickies]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://scott.yang.id.au/2008/10/python-26-released/</guid>
		<description><![CDATA[Python 2.6 final has just been released, and What&#8217;s New in Python 2.6 would be one recommended reading. Quite a few syntax sugar, although a lot of them are preparing for Python 3.0 (which would introduce quite a few incompatibility with Python 2.x). From the previous experience with upgrading from Python 2.4 to 2.5, I [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://scott.yang.id.au/file/images/python-logo.png" width="120" height="120" alt="Python Logo" class="floaty"/> <a href="http://www.python.org/download/releases/2.6/">Python 2.6 final has just been released</a>, and <a href="http://docs.python.org/dev/whatsnew/2.6.html">What&#8217;s New in Python 2.6</a> would be one recommended reading. Quite a few syntax sugar, although a lot of them are preparing for Python 3.0 (which would introduce quite a few incompatibility with Python 2.x). From the previous experience with upgrading from Python 2.4 to 2.5, I think it will take at least a year before I can get all my systems to the latest version&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://scott.yang.id.au/2008/10/python-26-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django 1.0 Released</title>
		<link>http://scott.yang.id.au/2008/09/django-10-released/</link>
		<comments>http://scott.yang.id.au/2008/09/django-10-released/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 13:23:54 +0000</pubDate>
		<dc:creator>scotty</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://scott.yang.id.au/?p=1794</guid>
		<description><![CDATA[Django 1.0 is finally released today and looks like it is going to be a good stable platform for many Python developers to build their next web app on. Tried to pick up Django 2 and half years ago but I&#8217;ve never managed to write a full application from it. Just let me append it [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.djangoproject.com/weblog/2008/sep/03/1/">Django 1.0 is finally released today</a> and looks like it is going to be a good stable platform for many Python developers to build their next web app on. <a href="http://scott.yang.id.au/2005/12/picking-up-django/">Tried to pick up Django</a> 2 and half years ago but I&#8217;ve never managed to write a full application from it. Just let me append it to my long list of TODOs&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://scott.yang.id.au/2008/09/django-10-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python, BASIC, Optimus Prime and a Truck</title>
		<link>http://scott.yang.id.au/2008/06/python-basic-optimus-prime-and-a-truck/</link>
		<comments>http://scott.yang.id.au/2008/06/python-basic-optimus-prime-and-a-truck/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 00:06:07 +0000</pubDate>
		<dc:creator>scotty</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[BASIC]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://scott.yang.id.au/2008/06/python-basic-optimus-prime-and-a-truck/</guid>
		<description><![CDATA[Saw this quote from programming.reddit yesterday. Python&#8217;s a drop-in replacement for BASIC in the sense that Optimus Prime is a drop-in replacement for a truck. Best quote so far this week.]]></description>
			<content:encoded><![CDATA[<p><img src="http://scott.yang.id.au/file/images/optimus-prime-small.jpg" width="178" height="180" class="floaty"/> Saw this quote from <a href="http://www.reddit.com/r/programming/info/6ny5x/comments/c04efon">programming.reddit</a> yesterday.</p>
<blockquote><p>Python&#8217;s a drop-in replacement for BASIC in the sense that <a href="http://en.wikipedia.org/wiki/Optimus_Prime">Optimus Prime</a> is a drop-in replacement for a truck.</p></blockquote>
<p>Best quote so far this week.</p>
]]></content:encoded>
			<wfw:commentRss>http://scott.yang.id.au/2008/06/python-basic-optimus-prime-and-a-truck/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Reddit gone Open Source, but TechCrunch don&#8217;t get it</title>
		<link>http://scott.yang.id.au/2008/06/reddit-opensource-techcrunch-clueless/</link>
		<comments>http://scott.yang.id.au/2008/06/reddit-opensource-techcrunch-clueless/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 01:20:50 +0000</pubDate>
		<dc:creator>scotty</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Reddit]]></category>
		<category><![CDATA[techcrunch]]></category>

		<guid isPermaLink="false">http://scott.yang.id.au/2008/06/reddit-opensource-techcrunch-clueless/</guid>
		<description><![CDATA[Reddit is about one of few tech-related social news sites that I read regularly (especially programming.reddit.com). The others are Slashdot and Hacker News. The big news is &#8212; they have gone Open Source! Since reddit&#8217;s beginning, we have stood on the shoulders of giants in the open source world. Every library, tool and platform we [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://scott.yang.id.au/file/images/redditguy.jpg" width="232" height="320" alt="Reddit Alien Guy" class="floaty"/> <a href="http://reddit.com/">Reddit</a> is about one of few tech-related social news sites that I read regularly (especially <a href="http://programming.reddit.com/">programming.reddit.com</a>). The others are <a href="http://slashdot.org/">Slashdot</a> and <a href="http://news.ycombinator.com/">Hacker News</a>. The big news is &#8212; they have <a href="http://blog.reddit.com/2008/06/reddit-goes-open-source.html">gone <b>Open Source</b></a>!</p>
<blockquote><p>Since reddit&#8217;s beginning, we have stood on the shoulders of giants in the open source world. Every library, tool and platform we depend on is open. Until now, the only portion of reddit that wasn&#8217;t freely available is reddit itself. We are proud and excited that we&#8217;re finally giving back to the community that has given us so much.</p></blockquote>
<p>Reddit started with Lisp back in the Y Combinator days. Then <a href="http://scott.yang.id.au/2006/01/webpy-released/">moved to web.py</a>, and recently moved again to <a href="http://pylonshq.com/">Pylons</a> &#8212; it is one of the biggest Python-based website based on open sourced web framework, and now it is open sourced itself! Its git repository is now <a href="http://code.reddit.com/">available online for everyone to see</a> &#8212; <em>delicious</em>! It is certainly going to be a great resource for all Python developers to peek into the &#8220;how&#8221; of scaling a Pylons site.</p>
<p>Then <a href="http://www.techcrunch.com/2008/06/18/reddit-tries-to-compete-the-open-source-way/">TechCrunch picked up the story</a>, after <a href="http://www.techcrunch.com/2008/06/17/what-is-reddit-announcing-tomorrow-and-why-is-a-penguin-involved/">being invited to the announcement party</a>. They worded the announcement as though Reddit is trying to compete with <a href="http://digg.com/">Digg</a> by open sourcing its code.</p>
<p>Of course, to most SV journalists covering Web 2.0, &#8220;code&#8221; is nothing more than what is powering their profit-less website so they can raise venture funds, and &#8220;free software&#8221; merely means you don&#8217;t have to pay for it.</p>
<blockquote><p>Reddit, the news voting site that was bought by Conde Nast in 2006, is making the code behind its site open source&#8230; That means anyone can now make their own Digg-like site. Not that there has been any lack of Digg clones in the past. Reddit&#8217;s move to open-source its software is merely an acknowledgment that it is already a commodity.</p></blockquote>
<p>There are many other push-button products that are far easier to set up than open sourced Reddit, so that makes this recent announcement redundant? By no means. The source code of an actual website is the <b>best</b> way for any developer to learn &#8212; far better than any tutorial out there. It is all about empowering the programmers. It is like you are a car mechanics, an Aston Martin DB9 drives into the garage, and you are free to inspect any aspect of this beautiful craft&#8230; And people on the outside said, <em>&#8220;oh, only because it is slower than the Ferrari&#8221;</em>. Huh?!</p>
]]></content:encoded>
			<wfw:commentRss>http://scott.yang.id.au/2008/06/reddit-opensource-techcrunch-clueless/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moved from Twitter to Jaiku</title>
		<link>http://scott.yang.id.au/2008/06/moved-from-twitter-to-jaiku/</link>
		<comments>http://scott.yang.id.au/2008/06/moved-from-twitter-to-jaiku/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 01:51:54 +0000</pubDate>
		<dc:creator>scotty</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[jaiku]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://scott.yang.id.au/?p=1751</guid>
		<description><![CDATA[I have not been twittering much recently because of one and only one reason. That has been on my status page for a few weeks now and I have only been twittering via IM (routing it through my own Jabber server). That sucks. While they have been triumphing the fact they have made it through [...]]]></description>
			<content:encoded><![CDATA[<p>I have not been <a href="http://twitter.com/scottyang">twittering much</a> recently because of one and only one reason.</p>
<p style="text-align:center"><img src="http://scott.yang.id.au/file/images/twitter-im-not-working.png" width="660" height="184" alt="IM is still not working at Twitter"/></p>
<p>That has been on my status page for a few weeks now and I have only been twittering via IM (routing it through my own Jabber server). That sucks. While they have been <a href="http://blog.twitter.com/2008/06/we-made-it.html">triumphing the fact they have made it through WWDC</a>, can someone please fix that IM thing?!</p>
<p>Or maybe it is not necessary. As of yesterday I am now <a href="http://scottyang.jaiku.com/">updating my status on Jaiku</a> (thanks to Glenn for giving me the invite). Currently you can&#8217;t sign up new account there but hopefully soon after <a href="http://www.jaiku.com/blog/2008/04/08/wroom-were-moving-to-google-app-engine/">they have moved to Google AppEngine</a>. At least their IM bot works&#8230;</p>
<p>The next task is to automatically post my Jaiku status to Twitter. Most cross-posting tools are online based, and you can only instruct Jaiku to sync with Twitter but not the other way around. Well I didn&#8217;t really look long enough because &#8220;reinventing the wheel&#8221; here is actually relatively cheap, as both Jaiku and Twitter has well published RESTful API. I quickly do up a Python script that takes new entries from my Jaiku feed and publish them onto Twitter.</p>
<p>Here&#8217;s the code:</p>
<pre class="code">
#!/usr/bin/env python

import anydbm
import feedparser
import os
import re
import sys
import urllib
import urllib2

# Configurable variables
JAIKU_USERNAME = 'scottyang'
TWITTER_USERNAME = 'scottyang'
TWITTER_PASSWORD = 'mypassword'

# Other constant
TWITTER_ENDPOINT = 'http://twitter.com/statuses/update.json'

def main():
    db = anydbm.open(os.path.join(os.environ.get('HOME', '/tmp'),
        '.jaiku2twitter.db'), 'c')
    feed = feedparser.parse('http://%s.jaiku.com/feed/rss' % JAIKU_USERNAME,
        etag=(db.get('etag') or None))
    if feed.get('status') == 304:
        pass
    elif feed.bozo:
        print 'Error: %s' % feed.bozo_exception
    else:
        auth = urllib2.HTTPBasicAuthHandler()
        auth.add_password('Twitter API',
            'twitter.com',
            TWITTER_USERNAME,
            TWITTER_PASSWORD)
        opener = urllib2.build_opener(auth)

        for entry in reversed(feed.entries):
            link = str(entry.link)
            if link.startswith('http://%s.jaiku.com/presence' % JAIKU_USERNAME):
                if link not in db:
                    value = entry.summary
                    value = re.search(r'^&lt;p&gt;(.*?)&lt;/p&gt;', value, re.M | re.S)
                    if value:
                        value = value.group(1).strip()
                        print 'Jaiku->Twitter: %s' % value
                        response = opener.open(TWITTER_ENDPOINT,
                            'status=%s' % urllib.quote(value))
                        response.read()
                        db[link] = '1'

        if feed.etag:
            db['etag'] = feed.etag

        db.sync()
        db.close()

if __name__ == '__main__':
    main()
</pre>
<p>Or you can download it <a href="http://scott.yang.id.au/file/python/jaiku2twitter.py">here</a>. It requires the <a href="http://feedparser.org/">Universal Feed Parser</a>, and it creates a BSDdb file in your home directory to track what entries have it posted. It supports etag to <em>hopefully</em> reduce load on Jaiku. Tested under Python 2.4 and 2.5. You just need to fill in your Jaiku username, Twitter username/password, and then instruct cron to run it every now and then. I run every 10 minutes to publish my presence/status on Jaiku to Twitter.</p>
]]></content:encoded>
			<wfw:commentRss>http://scott.yang.id.au/2008/06/moved-from-twitter-to-jaiku/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google App Engine &#8211; AWS Competitor?</title>
		<link>http://scott.yang.id.au/2008/04/google-app-engine/</link>
		<comments>http://scott.yang.id.au/2008/04/google-app-engine/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 14:13:16 +0000</pubDate>
		<dc:creator>scotty</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://scott.yang.id.au/?p=1737</guid>
		<description><![CDATA[Google has just launched a preview version of Google App Engine, a development platform for your next start-up web-based application that is designed to be scalable. Looks like it is designed to compete against Amazon Web Services, and it includes the full suit of development stack, including: Web serving environment, including a Python runtime environment [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://scott.yang.id.au/file/images/google-appengine.png" width="250" height="250" class="floaty"/> Google has just <a href="http://googleappengine.blogspot.com/2008/04/introducing-google-app-engine-our-new.html">launched a preview version of Google App Engine</a>, a development platform for your next start-up web-based application that is designed to be scalable. Looks like it is designed to compete against <a href="http://www.amazonaws.com/">Amazon Web Services</a>, and it includes the full suit of development stack, including:</p>
<ul>
<li>Web serving environment, including a Python runtime environment + Django framework. Competes with Amazon&#8217;s Elastic Computing Cloud.</li>
<li>Persistent storage powered by Google BigTable and Google FS, supporting its own query language and transactions using optimistic locking (what?! no MVCC?) Competes with Amazon&#8217;s Simple Storage Service and SimpleDB.</li>
<li>API for authenticate Google users, sending emails, fetching URLs, etc.</li>
</ul>
<p>Looks much more restrictive than Amazon&#8217;s EC2 where you get your own Xen VPS. However Google also gives you 500MB storage, 200M megacycles of CPU time/day and 10GB data transfer/day for free, which is enough for any startup to prototype their next killer app. Developing for a sandbox is never fun though, but the SDK provides an emulated environment so you can do your development locally before uploading to Google App Engine.</p>
<p>Biggest winner? I think it is Python. Hopefully we will see more Python-based web applications this year.</p>
<p><b>Update</b>: TechCrunch has already <a href="http://www.techcrunch.com/2008/04/08/techcrunch-labs-our-experience-building-and-launching-app-on-google-app-engine/">coded and deployed their first HotOrNot-type application</a> on Google App Engine &#8212; and it took the RoR guy only 4 hours to sign up, figure out Python, code up the site and deploy. Too bad that it&#8217;s already too popular and ran out the quota.</p>
<p><b>Update 2</b>: Interesting response from <a href="http://www.joyeur.com/2008/04/08/let-my-people-have-root">Joyent</a>, which has already made its way into providing utility computing via its Accelerator/Solaris Container products. Basically what Joyent is saying &#8212; no root, not open! Obviously they are still stuck in the mindset of doing all the scaling themselves which is only possible when you have the admin access to the running instances. It is great when you have root &#8212; sometimes &#8212; when you want to tinker with the setup yourself. What Google is saying here is, just worry about coding around the framework, and they&#8217;ll do the scalability for you. Having &#8220;root&#8221; will only blow a hole in your foot in this case.</p>
]]></content:encoded>
			<wfw:commentRss>http://scott.yang.id.au/2008/04/google-app-engine/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Guido on Python 3000 Status</title>
		<link>http://scott.yang.id.au/2007/06/guido-on-python-3000-status/</link>
		<comments>http://scott.yang.id.au/2007/06/guido-on-python-3000-status/#comments</comments>
		<pubDate>Tue, 19 Jun 2007 12:40:54 +0000</pubDate>
		<dc:creator>scotty</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://scott.yang.id.au/2007/06/guido-on-python-3000-status/</guid>
		<description><![CDATA[Guido van Rossum: Python 3000 Status: A schedule was first published around a year ago; we were aiming for a first 3.0 alpha release by the end of the first half of 2007, with a final 3.0 release a year later. (Python 3.0 will be the version when it is released; &#8220;Python 3000&#8243; or &#8220;Py3k&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.artima.com/weblogs/viewpost.jsp?thread=208549">Guido van Rossum: Python 3000 Status</a>:</p>
<blockquote>
<p>A schedule was first published around a year ago; we were aiming for a first 3.0 alpha release by the end of the first half of 2007, with a final 3.0 release a year later. (Python 3.0 will be the version when it is released; &#8220;Python 3000&#8243; or &#8220;Py3k&#8221; is the project&#8217;s code name.)</p>
<p>This schedule has slipped a bit; we&#8217;re now looking at a first alpha by the end of August, and the final release is moved up by the same amount.</p>
</blockquote>
<p>Also Python 2.6, a minor upgrade to 2.5, will be released a few months before Python 3.0, so two Python versions will exist in parallel. It is somehow necessary because of the amount of incompatibility in Python 3.0. For example,</p>
<ul>
<li>A strings are now unicode strings, and <code>b'...'</code> is now used to denote 8bit byte literals.</li>
<li><code>print</code> statement becomes <code>print()</code> function, and <code>'...' % arg</code> formatter becomes <code>'...'.format(arg)</code> method on string objects. There also seems to be a small but useful template syntax for string formatting.</li>
<li>Class decorators, function/method annotation, meta-class syntax change, and more.</li>
<li>Generic functions as per <a href="http://www.python.org/dev/peps/pep-3124/">PEP 3124</a>.</li>
<li>Updates on integers, iterators and exceptions.</li>
<li>Set literal.</li>
<li>No more <code>reduce()</code>, no more <code>`...`</code></li>
</ul>
<p>A very interesting update for the better of Python I guess. As of backward compatibility, it is always going to be an issue with upgrading big legacy apps to the latest version of the language, but hopefully the changes will benefit the new projects.</p>
]]></content:encoded>
			<wfw:commentRss>http://scott.yang.id.au/2007/06/guido-on-python-3000-status/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trackback &#8216;Em All 0.1 Released</title>
		<link>http://scott.yang.id.au/2007/02/trackback-em-all-01-released/</link>
		<comments>http://scott.yang.id.au/2007/02/trackback-em-all-01-released/#comments</comments>
		<pubDate>Wed, 28 Feb 2007 07:44:53 +0000</pubDate>
		<dc:creator>scotty</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Atom]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[RSS]]></category>

		<guid isPermaLink="false">http://scott.yang.id.au/2007/02/trackback-em-all-01-released/</guid>
		<description><![CDATA[I have just released Trackback &#8216;em All 0.1. It is basically an RSS/Atom feed to pingbacks/trackbacks converter. It fetches a list of RSS/Atom feeds, scan through the entries, and send pingback/trackback to all external links in the feed entries. I have actually been using it for a few months already. It basically: Speeds up your [...]]]></description>
			<content:encoded><![CDATA[<p>I have just released <a href="http://scott.yang.id.au/code/trackback-em-all/">Trackback &#8216;em All</a> 0.1. It is basically an RSS/Atom feed to pingbacks/trackbacks converter. It fetches a list of RSS/Atom feeds, scan through the entries, and send pingback/trackback to all external links in the feed entries. I have actually been using it for a few months already. It basically:</p>
<ul>
<li>Speeds up your posting (so you don&#8217;t have to wait for trackback/pingback in WordPress).</li>
<li>Ensures all linked URLs are notified.</li>
<li>Supports feeds powered by CMS&#8217;s that don&#8217;t support pingback/trackback.</li>
</ul>
<p>We all know how powerful trackbacks and pingbacks are in bringing new visitors to your site, don&#8217;t we? So I wrote this small program to make sure it works the way I wanted. <a href="http://www.python.org/">Python</a> 2.4+ and <a href="http://feedparser.org/">Universal Feedparser</a> required. You also need to have a hosting account + cron to run it effectively.</p>
<p>Grab it <a href="http://scott.yang.id.au/code/trackback-em-all/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://scott.yang.id.au/2007/02/trackback-em-all-01-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
