<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0"
   xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback"
   xmlns:ent="http://www.purl.org/NET/ENT/1.0/"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<channel>
<title>Python Rocks! and other rants</title>
<link>http://www.pycs.net/users/0000323/weblog/</link>
<description>Comments about life, the universe and Python, from the imagination of Kent S Johnson.</description>
<image>
 <url>http://www.pycs.net/users/0000323/images/favicon.ico</url>
 <title>Python Rocks! and other rants</title>
 <link>http://www.pycs.net/users/0000323/weblog/</link>
</image>
<language>en</language>
<copyright>Copyright 2005 Kent Johnson</copyright>
<lastBuildDate>Wed, 28 Dec 2005 15:49:20 GMT</lastBuildDate>
<generator>Python Desktop Server 0.7.2 (http://pyds.muensterland.org/)</generator>
<managingEditor>kent@kentsjohnson.com</managingEditor>
<webMaster>kent@kentsjohnson.com</webMaster>
<category domain="http://www.weblogs.com/rssUpdates/changes.xml">rssUpdates</category>
<skipHours>
<hour>0</hour>
<hour>2</hour>
<hour>4</hour>
<hour>5</hour>
<hour>6</hour>
<hour>7</hour>
<hour>8</hour>
<hour>9</hour>
<hour>10</hour>
<hour>11</hour>
<hour>14</hour>
<hour>16</hour>
<hour>17</hour>
<hour>18</hour>
<hour>19</hour>
<hour>20</hour>
<hour>21</hour>
<hour>22</hour>
<hour>23</hour>
</skipHours>
<item>
<title>Why I love Python 5</title>
<description>&lt;a name=&quot;easy-introspection-and-dynamic-loading&quot;&gt;Easy introspection and dynamic loading&lt;/a&gt;
&lt;p&gt;This example shows off several useful features of Python including introspection, dynamic loading, first-class ... &lt;a href=&quot;http://www.pycs.net/users/0000323/weblog/2005/12/28.html#P78&quot;&gt;read more&lt;/a&gt;</description>
<guid>http://www.pycs.net/users/0000323/weblog/2005/12/28.html#P78</guid>
<comments>http://www.pycs.net/system/comments.py?u=0000323&amp;p=P78&amp;link=http://www.pycs.net/users/0000323/weblog/2005/12/28.html%23P78</comments>
<category domain="http://www.pycs.net/users/0000323/weblog/">Java</category>
<category domain="http://www.pycs.net/users/0000323/weblog/">Python</category>
<ent:cloud ent:href="http://www.pycs.net/users/0000323/weblog/">
<ent:topic ent:id="Java" ent:href="http://www.pycs.net/users/0000323/weblog/Java/">Java</ent:topic>
<ent:topic ent:id="Python" ent:href="http://www.pycs.net/users/0000323/weblog/Python/">Python</ent:topic>
</ent:cloud>
<trackback:ping rdf:resource="http://www.pycs.net/system/trackback.py?u=0000323&amp;p=P78"/>
<pubDate>Wed, 28 Dec 2005 15:49:20 GMT</pubDate>
</item>
<item>
<title>Simple itertools.groupby() example</title>
<description>&lt;p&gt;Suppose you have a (sorted) list of dicts containing the names of cities and  
states, and you want to print them out with headings by state:&lt;/p&gt;
&lt;pre class=&quot;literal-block&quot;&gt;
&amp;gt;&amp;gt;&amp;gt; cities = [
...&lt;/pre&gt; ... &lt;a href=&quot;http://www.pycs.net/users/0000323/weblog/2005/12/06.html#P77&quot;&gt;read more&lt;/a&gt;</description>
<guid>http://www.pycs.net/users/0000323/weblog/2005/12/06.html#P77</guid>
<comments>http://www.pycs.net/system/comments.py?u=0000323&amp;p=P77&amp;link=http://www.pycs.net/users/0000323/weblog/2005/12/06.html%23P77</comments>
<category domain="http://www.pycs.net/users/0000323/weblog/">Python</category>
<ent:cloud ent:href="http://www.pycs.net/users/0000323/weblog/">
<ent:topic ent:id="Python" ent:href="http://www.pycs.net/users/0000323/weblog/Python/">Python</ent:topic>
</ent:cloud>
<trackback:ping rdf:resource="http://www.pycs.net/system/trackback.py?u=0000323&amp;p=P77"/>
<pubDate>Wed, 07 Dec 2005 03:37:36 GMT</pubDate>
</item>
<item>
<title>How I write code</title>
<description>&lt;p&gt;I tend to design from the bottom up - not exclusively, but in general I make small parts and combine them to make larger parts until I have something that does what I want. I refactor constantly as ... &lt;a href=&quot;http://www.pycs.net/users/0000323/weblog/2005/12/03.html#P76&quot;&gt;read more&lt;/a&gt;</description>
<guid>http://www.pycs.net/users/0000323/weblog/2005/12/03.html#P76</guid>
<comments>http://www.pycs.net/system/comments.py?u=0000323&amp;p=P76&amp;link=http://www.pycs.net/users/0000323/weblog/2005/12/03.html%23P76</comments>
<category domain="http://www.pycs.net/users/0000323/weblog/">Agile</category>
<ent:cloud ent:href="http://www.pycs.net/users/0000323/weblog/">
<ent:topic ent:id="Agile" ent:href="http://www.pycs.net/users/0000323/weblog/Agile/">Agile</ent:topic>
</ent:cloud>
<trackback:ping rdf:resource="http://www.pycs.net/system/trackback.py?u=0000323&amp;p=P76"/>
<pubDate>Sat, 03 Dec 2005 12:01:04 GMT</pubDate>
</item>
<item>
<title>Recommended Reading</title>
<link>http://personalpages.tds.net/~kent37/BookList.html</link>
<description>&lt;p&gt;I have just added a page of &lt;a class=&quot;reference&quot; href=&quot;http://personalpages.tds.net/~kent37/BookList.html&quot;&gt;recommended books&lt;/a&gt; to my main web site. It is very much a work in progress but there is ... &lt;a href=&quot;http://www.pycs.net/users/0000323/weblog/2005/11/28.html#P75&quot;&gt;read more&lt;/a&gt;</description>
<guid>http://www.pycs.net/users/0000323/weblog/2005/11/28.html#P75</guid>
<comments>http://www.pycs.net/system/comments.py?u=0000323&amp;p=P75&amp;link=http://www.pycs.net/users/0000323/weblog/2005/11/28.html%23P75</comments>
<trackback:ping rdf:resource="http://www.pycs.net/system/trackback.py?u=0000323&amp;p=P75"/>
<pubDate>Tue, 29 Nov 2005 01:12:32 GMT</pubDate>
</item>
<item>
<title>What&apos;s so great about Ruby?</title>
<description>&lt;p&gt;I&apos;m reading Bruce Tate&apos;s latest book, &lt;a class=&quot;reference&quot; href=&quot;http://www.oreilly.com/catalog/beyondjava/&quot;&gt;Beyond Java&lt;/a&gt;. In it, he argues that Java has become overgrown, unwieldy  and vulnerable ... &lt;a href=&quot;http://www.pycs.net/users/0000323/weblog/2005/10/24.html#P74&quot;&gt;read more&lt;/a&gt;</description>
<guid>http://www.pycs.net/users/0000323/weblog/2005/10/24.html#P74</guid>
<comments>http://www.pycs.net/system/comments.py?u=0000323&amp;p=P74&amp;link=http://www.pycs.net/users/0000323/weblog/2005/10/24.html%23P74</comments>
<category domain="http://www.pycs.net/users/0000323/weblog/">Python</category>
<ent:cloud ent:href="http://www.pycs.net/users/0000323/weblog/">
<ent:topic ent:id="Python" ent:href="http://www.pycs.net/users/0000323/weblog/Python/">Python</ent:topic>
</ent:cloud>
<trackback:ping rdf:resource="http://www.pycs.net/system/trackback.py?u=0000323&amp;p=P74"/>
<pubDate>Tue, 25 Oct 2005 01:14:40 GMT</pubDate>
</item>
<item>
<title>Unit testing is an enabling technology</title>
<description>&lt;p&gt;I&apos;m reading &lt;a class=&quot;reference&quot; href=&quot;http://pragmaticprogrammer.com/starter_kit/utj/index.html&quot;&gt;Pragmatic Unit Testing&lt;/a&gt; by Andrew Hunt and David Thomas. I&apos;m a big fan of unit testing and I think ... &lt;a href=&quot;http://www.pycs.net/users/0000323/weblog/2005/08/21.html#P73&quot;&gt;read more&lt;/a&gt;</description>
<guid>http://www.pycs.net/users/0000323/weblog/2005/08/21.html#P73</guid>
<comments>http://www.pycs.net/system/comments.py?u=0000323&amp;p=P73&amp;link=http://www.pycs.net/users/0000323/weblog/2005/08/21.html%23P73</comments>
<category domain="http://www.pycs.net/users/0000323/weblog/">Agile</category>
<ent:cloud ent:href="http://www.pycs.net/users/0000323/weblog/">
<ent:topic ent:id="Agile" ent:href="http://www.pycs.net/users/0000323/weblog/Agile/">Agile</ent:topic>
</ent:cloud>
<trackback:ping rdf:resource="http://www.pycs.net/system/trackback.py?u=0000323&amp;p=P73"/>
<pubDate>Sun, 21 Aug 2005 15:28:00 GMT</pubDate>
</item>
<item>
<title>Why I love Python 4</title>
<description>&lt;p&gt;Sometimes Java almost seems to go out of its way to make coding difficult, while Python goes out of its way to make it easy. Here is a case in point.&lt;/p&gt;
&lt;p&gt;I needed a Java method that accepts a duration ... &lt;a href=&quot;http://www.pycs.net/users/0000323/weblog/2005/06/10.html#P72&quot;&gt;read more&lt;/a&gt;</description>
<guid>http://www.pycs.net/users/0000323/weblog/2005/06/10.html#P72</guid>
<comments>http://www.pycs.net/system/comments.py?u=0000323&amp;p=P72&amp;link=http://www.pycs.net/users/0000323/weblog/2005/06/10.html%23P72</comments>
<category domain="http://www.pycs.net/users/0000323/weblog/">Python</category>
<ent:cloud ent:href="http://www.pycs.net/users/0000323/weblog/">
<ent:topic ent:id="Python" ent:href="http://www.pycs.net/users/0000323/weblog/Python/">Python</ent:topic>
</ent:cloud>
<trackback:ping rdf:resource="http://www.pycs.net/system/trackback.py?u=0000323&amp;p=P72"/>
<pubDate>Fri, 10 Jun 2005 13:24:16 GMT</pubDate>
</item>
<item>
<title>Will unit testing slow you down?</title>
<description>&lt;p&gt;I am trying to encourage unit testing and test-driven development at work. As far as I know, only a few developers here are really test-infected.&lt;/p&gt;
&lt;p&gt;I have asked several developers, &quot;Do you write ... &lt;a href=&quot;http://www.pycs.net/users/0000323/weblog/2005/04/17.html#P71&quot;&gt;read more&lt;/a&gt;</description>
<guid>http://www.pycs.net/users/0000323/weblog/2005/04/17.html#P71</guid>
<comments>http://www.pycs.net/system/comments.py?u=0000323&amp;p=P71&amp;link=http://www.pycs.net/users/0000323/weblog/2005/04/17.html%23P71</comments>
<category domain="http://www.pycs.net/users/0000323/weblog/">Agile</category>
<ent:cloud ent:href="http://www.pycs.net/users/0000323/weblog/">
<ent:topic ent:id="Agile" ent:href="http://www.pycs.net/users/0000323/weblog/Agile/">Agile</ent:topic>
</ent:cloud>
<trackback:ping rdf:resource="http://www.pycs.net/system/trackback.py?u=0000323&amp;p=P71"/>
<pubDate>Sun, 17 Apr 2005 13:22:08 GMT</pubDate>
</item>
<item>
<title>Never answer the same question twice</title>
<description>&lt;p&gt;When a user comes to me with a question about a program I have written, I like to do two things. First, answer the question. Second, change the program so the question won&apos;t come up again.&lt;/p&gt;
&lt;p&gt;This ... &lt;a href=&quot;http://www.pycs.net/users/0000323/weblog/2004/11/23.html#P70&quot;&gt;read more&lt;/a&gt;</description>
<guid>http://www.pycs.net/users/0000323/weblog/2004/11/23.html#P70</guid>
<comments>http://www.pycs.net/system/comments.py?u=0000323&amp;p=P70&amp;link=http://www.pycs.net/users/0000323/weblog/2004/11/23.html%23P70</comments>
<category domain="http://www.pycs.net/users/0000323/weblog/">Agile</category>
<ent:cloud ent:href="http://www.pycs.net/users/0000323/weblog/">
<ent:topic ent:id="Agile" ent:href="http://www.pycs.net/users/0000323/weblog/Agile/">Agile</ent:topic>
</ent:cloud>
<trackback:ping rdf:resource="http://www.pycs.net/system/trackback.py?u=0000323&amp;p=P70"/>
<pubDate>Tue, 23 Nov 2004 12:50:08 GMT</pubDate>
</item>
<item>
<title>When should I use classes?</title>
<link>http://personalpages.tds.net/~kent37/blog/stories/15.html</link>
<description>&lt;p&gt;A question beginners sometimes ask is, &quot;Should I use classes in my program?&quot; &lt;a class=&quot;reference&quot; href=&quot;http://personalpages.tds.net/~kent37/blog/stories/15.html&quot;&gt;This article&lt;/a&gt; gives some ideas of ... &lt;a href=&quot;http://www.pycs.net/users/0000323/weblog/2004/10/22.html#P69&quot;&gt;read more&lt;/a&gt;</description>
<guid>http://www.pycs.net/users/0000323/weblog/2004/10/22.html#P69</guid>
<comments>http://www.pycs.net/system/comments.py?u=0000323&amp;p=P69&amp;link=http://www.pycs.net/users/0000323/weblog/2004/10/22.html%23P69</comments>
<category domain="http://www.pycs.net/users/0000323/weblog/">Python</category>
<ent:cloud ent:href="http://www.pycs.net/users/0000323/weblog/">
<ent:topic ent:id="Python" ent:href="http://www.pycs.net/users/0000323/weblog/Python/">Python</ent:topic>
</ent:cloud>
<trackback:ping rdf:resource="http://www.pycs.net/system/trackback.py?u=0000323&amp;p=P69"/>
<pubDate>Sat, 23 Oct 2004 00:40:32 GMT</pubDate>
</item>
<item>
<title>Relief</title>
<description>&lt;p&gt;It&apos;s such a relief to be coding in Jython again after working with Java. In Java I feel like I&apos;m fighting the language and the APIs all the time. It&apos;s way too hard to get anything done. Python just ... &lt;a href=&quot;http://www.pycs.net/users/0000323/weblog/2004/10/19.html#P68&quot;&gt;read more&lt;/a&gt;</description>
<guid>http://www.pycs.net/users/0000323/weblog/2004/10/19.html#P68</guid>
<comments>http://www.pycs.net/system/comments.py?u=0000323&amp;p=P68&amp;link=http://www.pycs.net/users/0000323/weblog/2004/10/19.html%23P68</comments>
<category domain="http://www.pycs.net/users/0000323/weblog/">Java</category>
<category domain="http://www.pycs.net/users/0000323/weblog/">Python</category>
<ent:cloud ent:href="http://www.pycs.net/users/0000323/weblog/">
<ent:topic ent:id="Java" ent:href="http://www.pycs.net/users/0000323/weblog/Java/">Java</ent:topic>
<ent:topic ent:id="Python" ent:href="http://www.pycs.net/users/0000323/weblog/Python/">Python</ent:topic>
</ent:cloud>
<trackback:ping rdf:resource="http://www.pycs.net/system/trackback.py?u=0000323&amp;p=P68"/>
<pubDate>Tue, 19 Oct 2004 19:18:24 GMT</pubDate>
</item>
<item>
<title>Sticky Widgets</title>
<description>&lt;p&gt;A technique I am using quite a bit is to make sticky widgets - GUI widgets that autonomously remember some part of their state. For example, a text field that remembers its last value; a window that ... &lt;a href=&quot;http://www.pycs.net/users/0000323/weblog/2004/10/17.html#P67&quot;&gt;read more&lt;/a&gt;</description>
<guid>http://www.pycs.net/users/0000323/weblog/2004/10/17.html#P67</guid>
<comments>http://www.pycs.net/system/comments.py?u=0000323&amp;p=P67&amp;link=http://www.pycs.net/users/0000323/weblog/2004/10/17.html%23P67</comments>
<category domain="http://www.pycs.net/users/0000323/weblog/">Java</category>
<ent:cloud ent:href="http://www.pycs.net/users/0000323/weblog/">
<ent:topic ent:id="Java" ent:href="http://www.pycs.net/users/0000323/weblog/Java/">Java</ent:topic>
</ent:cloud>
<trackback:ping rdf:resource="http://www.pycs.net/system/trackback.py?u=0000323&amp;p=P67"/>
<pubDate>Sun, 17 Oct 2004 18:57:04 GMT</pubDate>
</item>
<item>
<title>Spring Free</title>
<description>&lt;p&gt;For my current project, a distributed application with a database back-end, I tried Hibernate and Spring. I really wanted to like them! They have lots of cool features and make some things incredibly ... &lt;a href=&quot;http://www.pycs.net/users/0000323/weblog/2004/10/06.html#P66&quot;&gt;read more&lt;/a&gt;</description>
<guid>http://www.pycs.net/users/0000323/weblog/2004/10/06.html#P66</guid>
<comments>http://www.pycs.net/system/comments.py?u=0000323&amp;p=P66&amp;link=http://www.pycs.net/users/0000323/weblog/2004/10/06.html%23P66</comments>
<category domain="http://www.pycs.net/users/0000323/weblog/">Java</category>
<category domain="http://www.pycs.net/users/0000323/weblog/">Python</category>
<ent:cloud ent:href="http://www.pycs.net/users/0000323/weblog/">
<ent:topic ent:id="Java" ent:href="http://www.pycs.net/users/0000323/weblog/Java/">Java</ent:topic>
<ent:topic ent:id="Python" ent:href="http://www.pycs.net/users/0000323/weblog/Python/">Python</ent:topic>
</ent:cloud>
<trackback:ping rdf:resource="http://www.pycs.net/system/trackback.py?u=0000323&amp;p=P66"/>
<pubDate>Wed, 06 Oct 2004 23:53:36 GMT</pubDate>
</item>
<item>
<title>Python and Unicode</title>
<link>http://personalpages.tds.net/~kent37/blog/stories/14.html</link>
<description>Python has extensive support for Unicode data. Two issues that are not well documented elsewhere are the handling of non-Ascii characters in the Python interpreter, and use of the default system encoding. ... &lt;a href=&quot;http://www.pycs.net/users/0000323/weblog/2004/09/14.html#P65&quot;&gt;read more&lt;/a&gt;</description>
<guid>http://www.pycs.net/users/0000323/weblog/2004/09/14.html#P65</guid>
<comments>http://www.pycs.net/system/comments.py?u=0000323&amp;p=P65&amp;link=http://www.pycs.net/users/0000323/weblog/2004/09/14.html%23P65</comments>
<category domain="http://www.pycs.net/users/0000323/weblog/">Python</category>
<ent:cloud ent:href="http://www.pycs.net/users/0000323/weblog/">
<ent:topic ent:id="Python" ent:href="http://www.pycs.net/users/0000323/weblog/Python/">Python</ent:topic>
</ent:cloud>
<trackback:ping rdf:resource="http://www.pycs.net/system/trackback.py?u=0000323&amp;p=P65"/>
<pubDate>Wed, 15 Sep 2004 01:29:36 GMT</pubDate>
</item>
<item>
<title>concat vs join - followup</title>
<description>&lt;p&gt;A couple of people have made good points about my last post comparing string concatenation and join.&lt;/p&gt;
&lt;p&gt;Marilyn Davis pointed out that in my data, the crossover point where join beats concatenation ... &lt;a href=&quot;http://www.pycs.net/users/0000323/weblog/2004/08/27.html#P64&quot;&gt;read more&lt;/a&gt;</description>
<guid>http://www.pycs.net/users/0000323/weblog/2004/08/27.html#P64</guid>
<comments>http://www.pycs.net/system/comments.py?u=0000323&amp;p=P64&amp;link=http://www.pycs.net/users/0000323/weblog/2004/08/27.html%23P64</comments>
<category domain="http://www.pycs.net/users/0000323/weblog/">Python</category>
<ent:cloud ent:href="http://www.pycs.net/users/0000323/weblog/">
<ent:topic ent:id="Python" ent:href="http://www.pycs.net/users/0000323/weblog/Python/">Python</ent:topic>
</ent:cloud>
<trackback:ping rdf:resource="http://www.pycs.net/system/trackback.py?u=0000323&amp;p=P64"/>
<pubDate>Sat, 28 Aug 2004 03:39:44 GMT</pubDate>
</item>
</channel>
</rss>
