<?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>MicahLogic &#187; python</title>
	<atom:link href="http://dubinko.info/blog/tags/software/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://dubinko.info/blog</link>
	<description>From an XML geek, a reader, a writer, a connector, a man of the people (says keep hope alive)</description>
	<lastBuildDate>Thu, 02 Feb 2012 06:43:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>On porting WebPath to Python 3k</title>
		<link>http://dubinko.info/blog/2009/01/07/on-porting-webpath-to-python-3k/</link>
		<comments>http://dubinko.info/blog/2009/01/07/on-porting-webpath-to-python-3k/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 08:08:26 +0000</pubDate>
		<dc:creator>mdubinko</dc:creator>
				<category><![CDATA[languages]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[2to3]]></category>
		<category><![CDATA[byte]]></category>
		<category><![CDATA[exception]]></category>
		<category><![CDATA[lex]]></category>
		<category><![CDATA[parse]]></category>
		<category><![CDATA[ply]]></category>
		<category><![CDATA[porting]]></category>
		<category><![CDATA[python3]]></category>
		<category><![CDATA[python3k]]></category>
		<category><![CDATA[string]]></category>
		<category><![CDATA[webpath]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://dubinko.info/blog/?p=416</guid>
		<description><![CDATA[I&#8217;ve started looking into porting the WebPath code (and eventually XForms Validator) over to Python 3. The first step is external libraries, of which there is only one. WebPath uses the lex.py module from PLY. I had got it into my head that Python 2.x and 3.x were thoroughly incompatible, but leave it to the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve started looking into porting the <a href="https://sourceforge.net/projects/webpath">WebPath</a> code (and eventually XForms Validator) over to Python 3. The first step is external libraries, of which there is only one. WebPath uses the lex.py module from <a href="http://www.dabeaz.com/ply/">PLY</a>. I had got it into my head that Python 2.x and 3.x were thoroughly incompatible, but leave it to the remarkable David Beazley to blow that assumption out of the water: the latest version of lex.py from <a href="http://code.google.com/p/ply/source/browse/trunk/ply/lex.py">SVN</a> works in both 2.x and 3.x.</p>
<p>From there the included 2to3 tool was easy enough to run. (Relatively more difficult was getting 2.6 and 3.0 versions of Python frameworks installed on Mac, but even that wasn&#8217;t too bad.) The tool made some moderate changes, and I can run the unit tests, and a few even pass!</p>
<p>The primary remaining problem stems from code where the documentation is a little unclear, and my inexperience is severe. The part of the code in platonicweb.py that reads nasty, grotty HTML via Tidy and produces a clean DOM throws an exception every time. Seems to be a mismatch between String and Byte (encoded string) types, but manifested as a failed XML parse. Sans exception handling, the code looks like:</p>
<pre>    page <span class="hl sym">=</span> urllib<span class="hl sym">.</span>request<span class="hl sym">.</span><span class="hl kwd">urlopen</span><span class="hl sym">(</span>fullurl<span class="hl sym">)</span>
    markup <span class="hl sym">=</span> page<span class="hl sym">.</span><span class="hl kwd">read</span><span class="hl sym">()</span>
    dom <span class="hl sym">=</span> <span class="hl kwd">xml.dom.minidom.parseString</span><span class="hl sym">(</span>markup<span class="hl sym">)</span></pre>
<p>urlopen() returns a file-like object, but the docs didn&#8217;t seem clear on whether it&#8217;s like a file opened in byte or string mode. In any case, I&#8217;m almost certainly doing it wrong. Suggestions?</p>
<p>-m</p>
]]></content:encoded>
			<wfw:commentRss>http://dubinko.info/blog/2009/01/07/on-porting-webpath-to-python-3k/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mystery Python Theatre 3K</title>
		<link>http://dubinko.info/blog/2008/12/05/mystery-python-theatre-3k/</link>
		<comments>http://dubinko.info/blog/2008/12/05/mystery-python-theatre-3k/#comments</comments>
		<pubDate>Sat, 06 Dec 2008 03:59:35 +0000</pubDate>
		<dc:creator>mdubinko</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[compatibility]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[python3k]]></category>

		<guid isPermaLink="false">http://dubinko.info/blog/?p=391</guid>
		<description><![CDATA[The long-awaited Python 3.0 is out. It fixes almost every annoyance I have with the language, particularly around Unicode handling, which is important in the kinds of projects I work on. Now, to revisit some of my Open Source projects&#8230; -m]]></description>
			<content:encoded><![CDATA[<p>The long-awaited Python 3.0 is <a href="http://arstechnica.com/news.ars/post/20081204-python-3-0-sheds-backwards-compatibility.html">out</a>. It fixes almost every annoyance I have with the language, particularly around Unicode handling, which is important in the kinds of projects I work on.</p>
<p>Now, to revisit some of my Open Source <a href="http://sourceforge.net/projects/webpath/">projects</a>&#8230; -m</p>
]]></content:encoded>
			<wfw:commentRss>http://dubinko.info/blog/2008/12/05/mystery-python-theatre-3k/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The case for native higher-order functions in XQuery</title>
		<link>http://dubinko.info/blog/2008/09/17/the-case-for-native-higher-order-functions-in-xquery/</link>
		<comments>http://dubinko.info/blog/2008/09/17/the-case-for-native-higher-order-functions-in-xquery/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 21:03:14 +0000</pubDate>
		<dc:creator>mdubinko</dc:creator>
				<category><![CDATA[languages]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[XQuery]]></category>
		<category><![CDATA[functional]]></category>
		<category><![CDATA[higherorder]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[qsort]]></category>
		<category><![CDATA[xquery]]></category>

		<guid isPermaLink="false">http://dubinko.info/blog/?p=340</guid>
		<description><![CDATA[The XQuery Working Group is debating the need for higher-order functions in the language. I&#8217;m working on honing my description of why this is an important feature. Does this work? What would work better? Imagine you are writing a smallish widget app, in an environment without a standard library. When you need to sort your [...]]]></description>
			<content:encoded><![CDATA[<p>The XQuery Working Group is debating the need for higher-order functions in the language. I&#8217;m working on honing my description of why this is an important feature. Does this work? What would work better?</p>
<p>Imagine you are writing a smallish widget app, in an environment without a standard library. When you need to sort your widgets, you&#8217;d write a simple function with a signature like sort(sequence-of-widgets). That&#8217;s great.</p>
<p>Now imagine you find your app to be steadily growing. An accumulation of smaller one-off solutions won&#8217;t work anymore, you need a general solution. What you&#8217;ll end up with is something like <a href="http://www.cplusplus.com/reference/clibrary/cstdlib/qsort.html">qsort</a> in C, which takes a pointer to a comparator function. By providing different comparators, you can sort anything any way you like, all through only a single sort function. C and C++ have something like this, as do PHP, Python, Java, JavaScript, and even assembly language. XSLT has it, as proven by <a href="http://fxsl.sourceforge.net/">Dimitre</a>.</p>
<p>XQuery doesn&#8217;t. It should, because people are now using it for more than short queries. People are writing programs in it. -m</p>
<p>P. S. Comment please.</p>
]]></content:encoded>
			<wfw:commentRss>http://dubinko.info/blog/2008/09/17/the-case-for-native-higher-order-functions-in-xquery/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Top Down Operator Precedence in Python</title>
		<link>http://dubinko.info/blog/2008/07/15/top-down-operator-precedence-in-python/</link>
		<comments>http://dubinko.info/blog/2008/07/15/top-down-operator-precedence-in-python/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 04:17:41 +0000</pubDate>
		<dc:creator>mdubinko</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[xpath]]></category>
		<category><![CDATA[pratt]]></category>
		<category><![CDATA[tdop]]></category>
		<category><![CDATA[webpath]]></category>

		<guid isPermaLink="false">http://dubinko.info/blog/?p=302</guid>
		<description><![CDATA[This article made my day. Very similar approach to what I did in WebPath, but even cleaner. Great explanation and performance numbers. -m P.S. Thanks to Crock for pointing this out.]]></description>
			<content:encoded><![CDATA[<p><a title=" Simple Top-Down Parsing in Python " href="http://effbot.org/zone/simple-top-down-parsing.htm">This article</a> made my day. Very similar approach to what I did in <a href="http://sourceforge.net/projects/webpath">WebPath</a>, but even cleaner. Great explanation and performance numbers. -m</p>
<p>P.S. Thanks to <a href="http://360.yahoo.com/profile-TBPekxc1dLNy5DOloPfzVvFIVOWMB0li">Crock</a> for pointing this out.</p>
]]></content:encoded>
			<wfw:commentRss>http://dubinko.info/blog/2008/07/15/top-down-operator-precedence-in-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XForms Validator on Google App Engine?</title>
		<link>http://dubinko.info/blog/2008/05/28/xforms-validator-on-google-app-engine/</link>
		<comments>http://dubinko.info/blog/2008/05/28/xforms-validator-on-google-app-engine/#comments</comments>
		<pubDate>Thu, 29 May 2008 03:58:45 +0000</pubDate>
		<dc:creator>mdubinko</dc:creator>
				<category><![CDATA[announcement]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[XForms]]></category>
		<category><![CDATA[xpath]]></category>
		<category><![CDATA[essentials]]></category>
		<category><![CDATA[relaxng]]></category>
		<category><![CDATA[validator]]></category>
		<category><![CDATA[xfv]]></category>

		<guid isPermaLink="false">http://dubinko.info/blog/?p=267</guid>
		<description><![CDATA[I registered &#8216;xfv&#8217; on Google App Engine. Too bad there doesn&#8217;t appear to be any significant XML libraries supported. I have XPath covered by my pure-python WebPath, but what about Relax NG? Anyone know of anything in pure python? -m]]></description>
			<content:encoded><![CDATA[<p>I registered &#8216;xfv&#8217; on Google App Engine. Too bad there doesn&#8217;t appear to be any significant XML libraries supported. I have XPath covered by my pure-python WebPath, but what about Relax NG? Anyone know of anything in pure python? -m</p>
]]></content:encoded>
			<wfw:commentRss>http://dubinko.info/blog/2008/05/28/xforms-validator-on-google-app-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebPath on next.yahoo</title>
		<link>http://dubinko.info/blog/2008/02/13/webpath-on-nextyahoo/</link>
		<comments>http://dubinko.info/blog/2008/02/13/webpath-on-nextyahoo/#comments</comments>
		<pubDate>Thu, 14 Feb 2008 06:54:07 +0000</pubDate>
		<dc:creator>mdubinko</dc:creator>
				<category><![CDATA[announcement]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[xpath]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://dubinko.info/blog/2008/02/13/webpath-on-nextyahoo/</guid>
		<description><![CDATA[It&#8217;s been an exhausting past couple of weeks, but life goes on. WebPath made front page at next.yahoo. I&#8217;m starting to get feedback from developers who are actually using it, filing bugs, suggesting features, and it&#8217;s gratifying. The community is still building up. Won&#8217;t you join too? -m]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been an exhausting past couple of weeks, but life goes on. WebPath made <a href="http://next.yahoo.net/archives/94/webpath-goes-open-source" title="WebPath Goes Open Source">front page at next.yahoo</a>. I&#8217;m starting to get feedback from developers who are actually using it, filing bugs, suggesting features, and it&#8217;s gratifying. The community is still building up. Won&#8217;t you join too? -m</p>
]]></content:encoded>
			<wfw:commentRss>http://dubinko.info/blog/2008/02/13/webpath-on-nextyahoo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebPath wants to be free (BSD licensed, specifically)</title>
		<link>http://dubinko.info/blog/2008/01/24/webpath-wants-to-be-free-bsd-licensed-specifically/</link>
		<comments>http://dubinko.info/blog/2008/01/24/webpath-wants-to-be-free-bsd-licensed-specifically/#comments</comments>
		<pubDate>Fri, 25 Jan 2008 06:42:23 +0000</pubDate>
		<dc:creator>mdubinko</dc:creator>
				<category><![CDATA[announcement]]></category>
		<category><![CDATA[intentional web]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xpath]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://dubinko.info/blog/2008/01/24/webpath-wants-to-be-free-bsd-licensed-specifically/</guid>
		<description><![CDATA[WebPath, my experimental XPath 2.0 engine in Python is now an open source project with a liberal BSD license. I originally developed this during a Yahoo! Hack Day, and now I get to announce it during another Hack Day. Seems appropriate. The focus of WebPath was rapid development and providing an experimental platform. There remains [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm3.static.flickr.com/2044/2214215295_e322799f6d_m.jpg" style="cursor: pointer" class="yfsc_image" id="yfsc_1_70651647@N00" align="left" /></p>
<p>WebPath, my experimental XPath 2.0 engine in Python is now an open source project with a liberal BSD license. I originally developed this during a Yahoo! Hack Day, and now I get to announce it during another Hack Day. Seems appropriate.</p>
<p>The focus of WebPath was rapid development and providing an experimental platform. There remains tons of potential work left to do on it&#8230;watch this space for continued discussion. I&#8217;d like to call out special thanks to the <span class="yshortcuts" id="lw_1201243487_0">Yahoo</span>! management for supporting me on this, and to Douglas Crockford for turning me on to <a href="http://javascript.crockford.com/tdop/index.html" title="as seen in _Beautiful Code_">Top Down Operator Precedence</a> parsers. Have a look at the code. You might be pleasantly surprised at how small and simple a basic XPath 2 engine can be. So, who&#8217;s up for some XPath hacking?</p>
<p><a href="http://dubinko.info/events/XML2007/WebPath.zip" title="20k zip file">Code download</a>. (Coming to <span class="yshortcuts" id="lw_1201243487_1">SourceForge</span> with <span class="yshortcuts" id="lw_1201243487_2">CVS</span>, etc., in however many days it takes them to approve a new project) I hope this inspires more developers to work on similar projects, or better yet, on this one! -m</p>
]]></content:encoded>
			<wfw:commentRss>http://dubinko.info/blog/2008/01/24/webpath-wants-to-be-free-bsd-licensed-specifically/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>OLPC is here</title>
		<link>http://dubinko.info/blog/2007/12/24/olpc-is-here/</link>
		<comments>http://dubinko.info/blog/2007/12/24/olpc-is-here/#comments</comments>
		<pubDate>Mon, 24 Dec 2007 17:52:54 +0000</pubDate>
		<dc:creator>mdubinko</dc:creator>
				<category><![CDATA[commercialism]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://dubinko.info/blog/2007/12/24/olpc-is-here/</guid>
		<description><![CDATA[I&#8217;m taking some time off from work to relax a bit. And just in time for that, my OLPC arrived. Check out the photoset on Flickr. It&#8217;s an impressive little machine, and I&#8217;m very happy to have got this instead of a Kindle. :) -m]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m taking some time off from work to relax a bit. And just in time for that, my <a href="http://laptop.org/" title="One Laptop Per Child">OLPC</a> arrived. Check out the <a href="http://flickr.com/photos/mdubinko/sets/72157603533635128/">photoset</a> on Flickr. It&#8217;s an impressive little machine, and I&#8217;m very happy to have got this <a href="http://dubinko.info/blog/2007/11/19/kindle-my-disappointment/" title="Kindle my disappointment">instead of a Kindle</a>. :)</p>
<p>-m</p>
]]></content:encoded>
			<wfw:commentRss>http://dubinko.info/blog/2007/12/24/olpc-is-here/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Slides from XML 2007: WebPath: Querying the Web as XML</title>
		<link>http://dubinko.info/blog/2007/12/16/slides-from-xml-2007-webpath-querying-the-web-as-xml/</link>
		<comments>http://dubinko.info/blog/2007/12/16/slides-from-xml-2007-webpath-querying-the-web-as-xml/#comments</comments>
		<pubDate>Mon, 17 Dec 2007 02:19:54 +0000</pubDate>
		<dc:creator>mdubinko</dc:creator>
				<category><![CDATA[announcement]]></category>
		<category><![CDATA[intentional web]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xpath]]></category>

		<guid isPermaLink="false">http://dubinko.info/blog/2007/12/16/slides-from-xml-2007-webpath-querying-the-web-as-xml/</guid>
		<description><![CDATA[Here&#8217;s the slides from my presentation at XML 2007, dealing with an implementation of XPath 2.0 in Python. I hope to have even more news in this area soon. WebPath (html) WebPath (OpenDocument, 4.7 megs) Did you notice the OpenOffice has nice slide export, that generates both graphically-accurate slides and highly indexable and accessible text [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s the slides from my presentation at XML 2007, dealing with an implementation of XPath 2.0 in Python. I hope to have even more news in this area soon.</p>
<p><a href="http://dubinko.info/events/XML2007/WebPath_XML2007.html">WebPath</a> (html)</p>
<p><a href="http://dubinko.info/events/XML2007/WebPath_XML2007.odp">WebPath</a> (OpenDocument, 4.7 megs)</p>
<p>Did you notice the OpenOffice has nice slide export, that generates both graphically-accurate slides and highly indexable and accessible text versons? -m</p>
]]></content:encoded>
			<wfw:commentRss>http://dubinko.info/blog/2007/12/16/slides-from-xml-2007-webpath-querying-the-web-as-xml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Come see me at XML 2007</title>
		<link>http://dubinko.info/blog/2007/09/21/come-see-me-at-xml-2007/</link>
		<comments>http://dubinko.info/blog/2007/09/21/come-see-me-at-xml-2007/#comments</comments>
		<pubDate>Sat, 22 Sep 2007 02:37:42 +0000</pubDate>
		<dc:creator>mdubinko</dc:creator>
				<category><![CDATA[announcement]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[stuff]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://dubinko.info/blog/2007/09/21/come-see-me-at-xml-2007/</guid>
		<description><![CDATA[Watch this space for details. I&#8217;ll be speaking about something related to Python and XPath 2.0. Watch this blog for tidbits on the subject. :) -m]]></description>
			<content:encoded><![CDATA[<p><a href="http://2007.xmlconference.org/public/content/schedule-overview">Watch this space</a> for details. I&#8217;ll be speaking about something related to Python and XPath 2.0. Watch this blog for tidbits on the subject. :) -m</p>
]]></content:encoded>
			<wfw:commentRss>http://dubinko.info/blog/2007/09/21/come-see-me-at-xml-2007/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prototypical inheritance in Python</title>
		<link>http://dubinko.info/blog/2007/07/23/prototypical-inheritance-in-python/</link>
		<comments>http://dubinko.info/blog/2007/07/23/prototypical-inheritance-in-python/#comments</comments>
		<pubDate>Tue, 24 Jul 2007 06:06:27 +0000</pubDate>
		<dc:creator>mdubinko</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[stuff]]></category>

		<guid isPermaLink="false">http://dubinko.info/blog/2007/07/23/prototypical-inheritance-in-python/</guid>
		<description><![CDATA[Based on Doug Crockford&#8217;s chapter in Beautiful Code, I wanted to take a crack at implementing Top Down Operator Precedence in Python. After all, Python and JavaScript are quite similar, right? Not really. As you can imagine, Doug&#8217;s code makes great use of JavaScript&#8217;s strengths, in this case the ability to assign new methods to [...]]]></description>
			<content:encoded><![CDATA[<p>Based on Doug Crockford&#8217;s chapter in <a href="http://www.amazon.com/exec/obidos/ASIN/0596510047/dubinkoinfo-20">Beautiful Code</a>, I wanted to take a crack at implementing <a href="http://javascript.crockford.com/tdop/tdop.html">Top Down Operator Precedence</a> in Python. After all, Python and JavaScript are quite similar, right?</p>
<p>Not really. As you can imagine, Doug&#8217;s code makes great use of JavaScript&#8217;s strengths, in this case the ability to assign new methods to any object. For an initial version, I wanted to make the Python version behave the same way, as opposed to a deeper redesign that would be more pythonic. (That would come later.)<br />
My initial approach was a <code>__getattr__</code> method that consisted simply of <code>return getattr(self.prototype, name)</code>. When reattaching a new method to an instance, I needed an extra wrapper, done through a <code>wrap</code> method which consisted of <code>return new.instancemethod(method, self, self.__class__)</code>. It would be used like this: <code>obj.method = obj.wrap(some_func)</code>.</p>
<p>This caused a subtle problem that took me a while to track down. In JavaScript, any function can reference the built-in <code>this</code> variable, which works whether the function is bound to some specific object or not. (Even global functions are bound to the global object.) But Python doesn&#8217;t have such a keyword. The language prefers the explicit, and uses a explicitly passed parameter, called by convention <code>self</code>. The call to wrap a specific function also had the effect of binding the <code>self</code> parameter to that particular object; even if it later became a prototype for some other object. This manifested itself as all kinds of broken behavior. For example, the original code has a global <code>scope</code> object, and every time a new scope was entered, the global pointed to a newer object that kept a reference to the rest of the scope chain. But in the object&#8217;s methods, <code>self</code> pointed to something different than the global. Messy.</p>
<p>Before I get into solutions, I&#8217;d like to see what readers say. How would you go about implementing prototypical inheritance in Python? And what is a more pythonic way to accomplish the same thing? Comment below. Thanks! -m</p>
]]></content:encoded>
			<wfw:commentRss>http://dubinko.info/blog/2007/07/23/prototypical-inheritance-in-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Histogram of top 10 words used in the 2007 State of the Union address:</title>
		<link>http://dubinko.info/blog/2007/01/24/histogram-of-top-10-words-used-in-the-2007-state-of-the-union-address/</link>
		<comments>http://dubinko.info/blog/2007/01/24/histogram-of-top-10-words-used-in-the-2007-state-of-the-union-address/#comments</comments>
		<pubDate>Wed, 24 Jan 2007 07:48:08 +0000</pubDate>
		<dc:creator>mdubinko</dc:creator>
				<category><![CDATA[languages]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[stuff]]></category>

		<guid isPermaLink="false">http://dubinko.info/blog/2007/01/24/histogram-of-top-10-words-used-in-the-2007-state-of-the-union-address/</guid>
		<description><![CDATA[I&#8217;ve always had a thing for text analysis. the 352 and 250 to 225 of 188 in 118 a 108 we 100 is 76 our 75 that 72 Source. -m]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve always had a thing for text analysis.</p>
<ul>
<li>the 352</li>
<li>and 250</li>
<li>to 225</li>
<li>of 188</li>
<li>in 118</li>
<li>a 108</li>
<li>we 100</li>
<li>is 76</li>
<li>our 75</li>
<li>that 72</li>
</ul>
<p><a href="http://www.whitehouse.gov/news/releases/2007/01/20070123-2.html">Source</a>. -m</p>
]]></content:encoded>
			<wfw:commentRss>http://dubinko.info/blog/2007/01/24/histogram-of-top-10-words-used-in-the-2007-state-of-the-union-address/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Shiver me timbers! Python 2.5 be here</title>
		<link>http://dubinko.info/blog/2006/09/19/shiver-me-timbers-python-25-is-here/</link>
		<comments>http://dubinko.info/blog/2006/09/19/shiver-me-timbers-python-25-is-here/#comments</comments>
		<pubDate>Tue, 19 Sep 2006 17:21:21 +0000</pubDate>
		<dc:creator>mdubinko</dc:creator>
				<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://dubinko.info/blog/2006/09/19/shiver-me-timbers-python-25-is-here/</guid>
		<description><![CDATA[Link. -m]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.python.org/download/releases/2.5/">Link</a>. -m</p>
]]></content:encoded>
			<wfw:commentRss>http://dubinko.info/blog/2006/09/19/shiver-me-timbers-python-25-is-here/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Disk Usage, Python, and SVG (oh my)</title>
		<link>http://dubinko.info/blog/2006/09/06/disk-usage-python-ans-svg-oh-my/</link>
		<comments>http://dubinko.info/blog/2006/09/06/disk-usage-python-ans-svg-oh-my/#comments</comments>
		<pubDate>Thu, 07 Sep 2006 05:38:51 +0000</pubDate>
		<dc:creator>mdubinko</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[standards]]></category>

		<guid isPermaLink="false">http://dubinko.info/blog/2006/09/06/disk-usage-python-ans-svg-oh-my/</guid>
		<description><![CDATA[Check out this script. -m]]></description>
			<content:encoded><![CDATA[<p>Check out this <a href="http://www.w3.org/2000/10/swap/pim/du/du-svg.py">script</a>. -m</p>
]]></content:encoded>
			<wfw:commentRss>http://dubinko.info/blog/2006/09/06/disk-usage-python-ans-svg-oh-my/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

