<?xml version="1.0"?>
<!-- RSS generated by Radio UserLand v8.0.7 on Sat, 15 Jun 2002 07:26:45 GMT -->
<rss version="0.92">
	<channel>
		<title>99% of Gargoyles ...</title>
		<link>http://radio.weblogs.com/0100917/</link>
		<description>look like Bob Todd</description>
		<copyright>Copyright 2002 Andy Todd</copyright>
		<lastBuildDate>Sat, 15 Jun 2002 07:26:45 GMT</lastBuildDate>
		<docs>http://backend.userland.com/rss092</docs>
		<managingEditor>andy47@halfcooked.com</managingEditor>
		<webMaster>andy47@halfcooked.com</webMaster>
		<cloud domain="radio.xmlstoragesystem.com" port="80" path="/RPC2" registerProcedure="xmlStorageSystem.rssPleaseNotify" protocol="xml-rpc"/>
		<item>
			<description>Right, if &lt;A href=&quot;http://www.orbtech.com/blog/pobrien/&quot;&gt;Patrick&lt;/A&gt; can do it, so can I. &lt;BR&gt;&lt;BR&gt;I&apos;ve installed &lt;A href=&quot;http://www.movabletype.org/&quot;&gt;Movable Type&lt;/A&gt; and this page will no longer be updated. &lt;BR&gt;&lt;BR&gt;The new page for&amp;nbsp;99% of Gargoyles&amp;nbsp;... is &lt;A href=&quot;http://www.halfcooked.com/mt/&quot;&gt;here&lt;/A&gt;. See you on the other side.</description>
			</item>
		<item>
			<description>&lt;P&gt;&lt;!--StartFragment --&gt;&lt;STRONG&gt;Hot Off the Presses&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;PythonCard is a GUI construction kit for building cross-platform desktop&lt;BR&gt;applications on Windows, Mac OS X, and Linux.&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;Release 0.6.6 includes 30 sample applications, new additions include a&lt;BR&gt;source code editor and a sample for creating flat file databases. This&lt;BR&gt;release also supports the new wxPython 2.3.3 preview for Mac OS X.&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;All the information you need about PythonCard can be found on the project&lt;BR&gt;web page at:&lt;BR&gt;&lt;A href=&quot;http://pythoncard.sourceforge.net/&quot;&gt;&lt;a href=&quot;http://pythoncard.sourceforge.net/&quot;&gt;http://pythoncard.sourceforge.net/&lt;/a&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;The installation instructions and walkthroughs are available on the main&lt;BR&gt;documentation page:&lt;BR&gt;&lt;A href=&quot;http://pythoncard.sourceforge.net/documentation.html&quot;&gt;&lt;a href=&quot;http://pythoncard.sourceforge.net/documentation.html&quot;&gt;http://pythoncard.sourceforge.net/documentation.html&lt;/a&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;You can download the latest release at:&lt;BR&gt;&lt;A href=&quot;http://sourceforge.net/project/showfiles.php?group_id=19015&quot;&gt;&lt;a href=&quot;http://sourceforge.net/project/showfiles.php?group_id=19015&quot;&gt;http://sourceforge.net/project/showfiles.php?group_id=19015&lt;/a&gt;&lt;BR&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;For a list of some of the samples that have been built with PythonCard and&lt;BR&gt;screenshots of them in action go to:&lt;BR&gt;&lt;A href=&quot;http://pythoncard.sourceforge.net/samples.html&quot;&gt;&lt;a href=&quot;http://pythoncard.sourceforge.net/samples.html&quot;&gt;http://pythoncard.sourceforge.net/samples.html&lt;/a&gt;&lt;BR&gt;&lt;/A&gt;&lt;BR&gt;A description of each sample is included in the readme.txt file in each&lt;BR&gt;sample directory.&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;The kind people at SourceForge host the project:&lt;BR&gt;&lt;A href=&quot;http://sourceforge.net/projects/pythoncard/&quot;&gt;&lt;a href=&quot;http://sourceforge.net/projects/pythoncard/&quot;&gt;http://sourceforge.net/projects/pythoncard/&lt;/a&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;If you want to get involved the main contact point is the Mailing list:&lt;BR&gt;&lt;A href=&quot;http://lists.sourceforge.net/lists/listinfo/pythoncard-users&quot;&gt;&lt;a href=&quot;http://lists.sourceforge.net/lists/listinfo/pythoncard-users&quot;&gt;http://lists.sourceforge.net/lists/listinfo/pythoncard-users&lt;/a&gt;&lt;BR&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;PythonCard requires Python 2.1.x or later and wxPython 2.3.2.1 or later.&lt;BR&gt;wxPython can be downloaded at &lt;A href=&quot;http://www.wxpython.org/&quot;&gt;&lt;a href=&quot;http://www.wxpython.org/&quot;&gt;http://www.wxpython.org/&lt;/a&gt;&lt;/A&gt;&lt;/P&gt;</description>
			<category>Software</category>
			</item>
		<item>
			<description>&lt;P&gt;There is a new release of &lt;A href=&quot;http://pythoncard.sourceforge.net/&quot;&gt;PythonCard&lt;/A&gt; coming out this week, lots of interesting new goodies ...&lt;/P&gt;
&lt;P&gt;Meanwhile I&apos;m struggling with a way to come up with transparent persistent storage in an easy to use desktop development environment. The existing flatfileDatabase sample is my starting point. In it Kevin takes a Model-View-Controller approach to storing fairly standard address records in a text file. The storage approach is fairly forceful, it simply saves the current record when you navigate out of it, but it should prove an interesting test bed for integrating other storage mechanisms. Top of my heap are &lt;A href=&quot;http://www.python.org/doc/lib/module-shelve.html&quot;&gt;shelve&lt;/A&gt; and &lt;A href=&quot;http://www.mysql.org/&quot;&gt;MySQL&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;What I need to do is implement a generic storage mechanism. Inspired by the contents of &lt;A href=&quot;http://weblib.sourceforge.net/&quot;&gt;weblib&lt;/A&gt; and &lt;A href=&quot;http://bdoz.sourceforge.net/&quot;&gt;bdoz&lt;/A&gt; how is this for a first stab at a super class definition;&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;P&gt;&lt;FONT face=&quot;Courier, Monospace&quot; size=1&gt;class Storage:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def open(self):&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;Initialise this storage object&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pass&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; def store(self, table, **row):&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;Store an item&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pass&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; def fetch(self, table, id):&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;Fetch&amp;nbsp;an item by its key&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pass&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; def find(self, table, where):&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;Find an item by a non-key value&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pass&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; def delete(self, table, id):&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;Remove an item permanently&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pass&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; def _insert(self, table, **row):&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; raise NotImplementedError&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; def _update(self, table, **row):&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; raise NotImplementedError&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;The stored items would be passed arounds as dictionaries I think. This makes interfacing with ZODB and shelve quite easy and is quite analagous for us RDBMS types. &lt;/P&gt;
&lt;P&gt;I think I will let this kick around in my subconscious for a bit before I actually get off my bum and try and implement it.&lt;/P&gt;</description>
			</item>
		<item>
			<title>PythonCard Screen Shots</title>
			<description>&lt;P&gt;Kevin has posted a &lt;A href=&quot;http://radio.weblogs.com/0102677/2002/04/29.html#a58&quot;&gt;Windows screen shot&lt;/A&gt;, Dan has posted a &lt;A href=&quot;http://radio.weblogs.com/0001285/stories/2002/04/29/screenShotOfPythoncardSamp.html&quot;&gt;Macintosh one&lt;/A&gt;, here is a Linux shot of the Widget sample that ships with &lt;A href=&quot;http://pythoncard.sourceforge.net/&quot;&gt;PythonCard&lt;/A&gt;;&lt;/P&gt;
&lt;P&gt;&lt;IMG src=&quot;http://radio.weblogs.com/0100917/images/widgets01.png&quot;&gt;&lt;BR&gt;&lt;BR&gt;How does it look to you?&lt;/P&gt;</description>
			<category>Software</category>
			</item>
		<item>
			<title>Hang on a minute</title>
			<description>&lt;P&gt;&lt;A href=&quot;http://scoble.weblogs.com/2002/04/22.html#a1207&quot;&gt;Robert Scoble&lt;/A&gt; uses a court case to illustrate that many people can have different truths at the same time. I&apos;ll skip over this spurious discussion and concentrate on the completely ludicrous opinion he shares with us,&amp;nbsp;his humble readers, at the end of the piece as he draws the discussion around to the Microsoft court case;&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;P&gt;Which monopoly would I rather deal with? Bill Gates or Steve Case&apos;s? I can answer that one easily: I fired Steve Case from my computer seven years ago and I ain&apos;t planning on letting him back on any time soon.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Well, duh, you removed AOL from your computer because you could. The whole point about the Microsoft monopoly is that it is impossible to buy a personal computer these days without a Microsoft operating system on it. For more details, go and read &lt;A href=&quot;http://www.theregister.co.uk/&quot;&gt;The Register&lt;/A&gt;. The reason Mr Scoble hasn&apos;t got rid of Bill Gates from his computer is because he can&apos;t. Well, you can, but that is a whole other story.&lt;/P&gt;</description>
			</item>
		<item>
			<title>Neighbours</title>
			<description>&lt;P&gt;Today its time to embrace the great blog-dom. As all you get from radio is a pesky number (this blog is number 100917) I thought I would see who the neighbours are. Say hello to;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Number 100916 : &lt;A href=&quot;http://radio.weblogs.com/0100916/&quot;&gt;Jim Cuene&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Number 100918 : &lt;A href=&quot;http://radio.weblogs.com/0100918/&quot;&gt;Marcel Neuhausler&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Tell them Andy sent you.&lt;/P&gt;</description>
			</item>
		<item>
			<title>Reboot</title>
			<description>&lt;P&gt;Time for a reboot. I&apos;ve managed to upgrade this laptop to the latest testing version of &lt;A href=&quot;http://www.debian.org/&quot;&gt;Debian&lt;/A&gt;. So I&apos;m going to reboot into that partition and try and live as a Linux user for the next few days. &lt;/P&gt;
&lt;P&gt;As Radio runs only on Windows (and then only in IE - grrr) this means no posts to this weblog. I will be back though,&amp;nbsp;and I&amp;nbsp;will let you know how I got on when I get back.&lt;/P&gt;</description>
			</item>
		<item>
			<title>Editing</title>
			<description>&lt;P&gt;Hold the presses, stop working, down your tools and look at &lt;A href=&quot;http://www.freehackers.org/kvim/&quot;&gt;this&lt;/A&gt;.Woops, they&apos;ve been slashdotted so access may be a little slow. &lt;/P&gt;
&lt;P&gt;Essentially, the KVim project is going to embed &lt;A href=&quot;http://vim.sf.net/&quot;&gt;Vim&lt;/A&gt; in the &lt;A href=&quot;http://www.kde.org/&quot;&gt;KDE&lt;/A&gt; desktop. Life is complete. Now all I need to do is finish upgrading this machine to &lt;A href=&quot;http://www.debian.org/releases/woody/index&quot;&gt;Woody&lt;/A&gt; and I&apos;ll be spending most of my time in Linux land.&lt;/P&gt;
&lt;P&gt;Since&amp;nbsp;learning vi on Convergent Technologies boxes in the early nineties it is the only editor I have found that I can use on any platform and incredibly productively, and I know I only use about twenty percent of the features available. &lt;/P&gt;
&lt;P&gt;Having that kind of editing power embedded in the web browser, mail client and file explorer of my desktop is just the kind of feature that will tip me over into the Linux world. I&apos;ve been existing in a shadow land, booting between Debian and Windows2000 but this may be the straw which breaks this particular camel&apos;s reliance on the lovely people from Redmond.&lt;/P&gt;</description>
			</item>
		</channel>
	</rss>
