<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:radioWeblogPost="http://backend.userland.com/radioWeblogPostModule" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:admin="http://webns.net/mvcb/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Andrew Shearer's Drivel</title>
    <link>http://www.shearersoftware.com/personal/weblog/</link>
    <description>Computers, the web, Python, Mac OS X, more</description>
    <dc:language>en-us</dc:language>
    <dc:creator>Andrew Shearer (ashearerw@shearersoftware.com)</dc:creator>
    <dc:rights>Copyright 2003 Andrew Shearer</dc:rights>
<item>
<guid isPermaLink="true">http://www.shearersoftware.com/personal/weblog/2003/09/28/#p0928155213</guid>
<description>&lt;p&gt;&lt;p&gt;&lt;a href="http://www.shearersoftware.com/software/developers/htmlfilter/"&gt;HTMLFilter&lt;/a&gt;, in its first public standalone release, is a module for Python
          programs. It parses an HTML 4 document, allowing subclasses to
          pass through or modify the the text and tags as
          they go by. The resulting copy will be an
          otherwise exact replica of the original, including whitespace
          and comments. ASP, PHP, JSP, or other server-side code will
          generally survive the round trip. (The only exception is
          if the code is embedded inside an HTML tag you&amp;rsquo;re actually
          modifying, not just passing through, and in most cases any tag attributes not explicitly modified are safe.)&lt;/p&gt;

&lt;p&gt;The use can be as simple as adding a &amp;lt;meta&amp;gt; tag to an
          existing web page without disturbing the rest, or as complex as merging two HTML pages (as
          it&amp;rsquo;s used in &lt;a href="http://www.shearersoftware.com/software/web-tools/ShearerSite/"&gt;ShearerSite&lt;/a&gt;,
          which intelligently merges content pages into template pages).&lt;/p&gt;

&lt;p&gt;You can also use it to generate HTML from scratch, with HTMLFilter
          taking care of the attribute encoding for tags.&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;&lt;a href="http://www.shearersoftware.com/software/developers/htmlfilter/"&gt;HTMLFilter&lt;/a&gt;. Python-licensed. Unicode and encoding-savvy. Tested with Python 1.5.2 through 2.3.&lt;/p&gt;&lt;/p&gt;</description>
<title>HTMLFilter 1.1 released</title>
<pubDate>Sun, 28 Sep 2003 15:52:13 -0400</pubDate>
<link>ttp://www.shearersoftware.com/software/developers/htmlfilter/</link>
<category>Software</category>
<category>Python</category>
<radioWeblogPost:id>0928155213</radioWeblogPost:id>
<dcterms:modified>2003-10-17T00:30:11-04:00</dcterms:modified>
</item>

<item>
<guid isPermaLink="true">http://www.shearersoftware.com/personal/weblog/2003/09/28/#p0928153931</guid>
<pubDate>Sun, 28 Sep 2003 15:39:31 -0400</pubDate>
<link>http://www.macintouch.com/macjust02.html</link>
<description>&lt;p&gt;Macintouch has some good discussion on &lt;a href="http://www.macintouch.com/macjust02.html"&gt;justifying Mac purchases&lt;/a&gt;.&lt;/p&gt;</description>
<title>Mac Justification</title>
<radioWeblogPost:id>0928153931</radioWeblogPost:id>
</item>

<item>
<guid isPermaLink="true">http://www.shearersoftware.com/personal/weblog/2003/09/28/#p0928153831</guid>
<description>&lt;p&gt;CSS techniques for great-looking HTML lists, &lt;a href="http://www.maxdesign.com.au/presentation/listamatic/"&gt;demonstrated&lt;/a&gt;.&lt;/p&gt;</description>
<title>Listamatic</title>
<pubDate>Sun, 28 Sep 2003 15:38:31 -0400</pubDate>
<link>http://www.maxdesign.com.au/presentation/listamatic/</link>
<category>Technology</category>
<radioWeblogPost:id>0928153831</radioWeblogPost:id>
</item>

<item>
<guid isPermaLink="true">http://www.shearersoftware.com/personal/weblog/2003/09/28/#p0928153754</guid>
<description>&lt;p&gt;Some &lt;a href="http://weblog.infoworld.com/techwatch/archives/000083.html"&gt;good quotes&lt;/a&gt; here from a recent speech.&lt;/p&gt;</description>
<title>John Cleese on Technology</title>
<pubDate>Sun, 28 Sep 2003 15:37:54 -0400</pubDate>
<link>http://weblog.infoworld.com/techwatch/archives/000083.html</link>
<category>Technology</category>
<radioWeblogPost:id>0928153754</radioWeblogPost:id>
</item>

<item>
<guid isPermaLink="true">http://www.shearersoftware.com/personal/weblog/2003/09/15/#p0915204726</guid>
<description>&lt;p&gt;I just released version 1.1 of &lt;a href="http://www.shearersoftware.com/software/developers/xmlfilter/"&gt;XMLFilter&lt;/a&gt;, which marks the first public standalone release. XMLFilter is an open-source Python module you can include with your programs to provide XML parsing even if the target system lacks a working xml.sax package. You can use it to quickly adapt existing xml.sax-compatible scripts to work out of the box, for example, on Jaguar (Mac OS X 10.2), which lacks expat.&lt;/p&gt;

&lt;p&gt;It works by using the older xmllib module as a fallback for xml.sax. A test suite verifies call-by-call compatibility no matter which module ends up being used.&lt;/p&gt;

&lt;p&gt;Other features include XML event-stream filtering, writing, and creation, with support for writing CDATA sections. (Using these classes also avoids bugs in some versions of xml.sax.)&lt;/p&gt;

&lt;p&gt;Generally, the newer your version of Python, the faster it goes. For example, if xml.sax and expat are working, they give a factor-of-3 speedup over the pure-Python xmllib, and on Python 2.3, Unicode encoding conversions will use xmlcharrefreplace for faster writing of XML numeric entities.&lt;/p&gt;

&lt;p&gt;Python-licensed. Tested all the way down to Python 1.5.2 and up to Python 2.3. xml.sax-compatible, Unicode-savvy (wherever Python is), and optionally namespace-aware. 
&lt;/p&gt;</description>
<title>XMLFilter</title>
<pubDate>Mon, 15 Sep 2003 20:47:26 -0400</pubDate>
<link>http://www.shearersoftware.com/software/developers/xmlfilter/</link>
<category>Software</category>
<category>Mac OS X</category>
<category>Python</category>
<radioWeblogPost:id>0915204726</radioWeblogPost:id>
<dcterms:modified>2003-10-17T00:30:34-04:00</dcterms:modified>
</item>

<item>
<guid isPermaLink="true">http://www.shearersoftware.com/personal/weblog/2003/09/09/#p0909081432</guid>
<description>&lt;p&gt;My &lt;a href="http://www.shearersoftware.com/personal/pictures/2003/09/07/mystic-kayaking/"&gt;Mystic, CT trip&lt;/a&gt; (with &lt;a href="http://www.ricka.org/"&gt;RICKA&lt;/a&gt;) and &lt;a href="http://www.shearersoftware.com/personal/pictures/2003/09/07/providence-kayaking/"&gt;Providence, RI trip&lt;/a&gt; (later that day, on my own), in pictures.&lt;/p&gt;</description>
<title>Providence and Mystic Kayaking</title>
<pubDate>Tue, 09 Sep 2003 08:14:32 -0400</pubDate>
<link></link>
<category>Outdoors</category>
<radioWeblogPost:id>0909081432</radioWeblogPost:id>
</item>

<item>
<guid isPermaLink="true">http://www.shearersoftware.com/personal/weblog/2003/09/06/#p0906210144</guid>
<pubDate>Sat, 06 Sep 2003 21:01:44 -0400</pubDate>
<link>http://www.theregister.co.uk/content/7/32690.html</link>
<description>&lt;p&gt;The Register &lt;a href="http://www.theregister.co.uk/content/7/32690.html"&gt;rains on Universal&amp;#8217;s parade&lt;/a&gt;.&lt;/p&gt;</description>
<title>Universal's CD price cut comedy gets five stars</title>
<radioWeblogPost:id>0906210144</radioWeblogPost:id>
<dcterms:modified>2003-09-06T23:53:21-04:00</dcterms:modified>
</item>

<item>
<guid isPermaLink="true">http://www.shearersoftware.com/personal/weblog/2003/09/06/#p0906175832</guid>
<description>&lt;p&gt;A small integration project &lt;a href="http://www.infoworld.com/cgi-bin/redirect?source=rss&amp;amp;url=http://www.infoworld.com/article/03/09/05/35OPconnection_1.html"&gt;dispels some preconceptions&lt;/a&gt; about OS X [&lt;a href="http://www.infoworld.com/techindex/appdev_1.html"&gt;InfoWorld: Application Development&lt;/a&gt;]&lt;/p&gt;</description>
<title>Moving to a Mac</title>
<pubDate>Sat, 06 Sep 2003 17:58:32 -0400</pubDate>
<link>http://www.infoworld.com/cgi-bin/redirect?source=rss&amp;url=http://www.infoworld.com/article/03/09/05/35OPconnection_1.html</link>
<category>Technology</category>
<radioWeblogPost:id>0906175832</radioWeblogPost:id>
<dcterms:modified>2003-09-06T23:53:53-04:00</dcterms:modified>
</item>

<item>
<guid isPermaLink="true">http://www.shearersoftware.com/personal/weblog/2003/09/06/#p0906013310</guid>
<description>&lt;p&gt;Clay Shirky: &lt;a href="http://www.shirky.com/writings/fame_vs_fortune.html"&gt;Fame vs Fortune: Micropayments and Free Content&lt;/a&gt;. The answer is simple: creators are not publishers, and putting the power to publish directly into their hands does not make them publishers. It makes them artists with printing presses. This matters because creative people crave attention in a way publishers do not. [&lt;a href="http://www.tomalak.org/"&gt;Tomalak's Realm&lt;/a&gt;]&lt;/p&gt;</description>
<title>Clay Shirky: Fame vs Fortune: Micropayments...</title>
<pubDate>Sat, 06 Sep 2003 01:33:10 -0400</pubDate>
<link>http://www.shirky.com/writings/fame_vs_fortune.html</link>
<category>Technology</category>
<category>Society</category>
<radioWeblogPost:id>0906013310</radioWeblogPost:id>
</item>

</channel>
</rss>