<?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 Desktop Server Weblog</title>
<link>http://pyds.muensterland.org/weblog/</link>
<description>This is the Python Desktop Server weblog.</description>
<language>en</language>
<copyright>Copyright 2007 Georg Bauer</copyright>
<lastBuildDate>Mon, 04 Sep 2006 14:11:12 GMT</lastBuildDate>
<generator>Python Desktop Server 0.7.4 (http://pyds.muensterland.org/)</generator>
<managingEditor>bauer@gws.ms</managingEditor>
<webMaster>bauer@gws.ms</webMaster>
<category domain="http://www.weblogs.com/rssUpdates/changes.xml">rssUpdates</category>
<skipHours>
<hour>0</hour>
<hour>1</hour>
<hour>2</hour>
<hour>3</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>13</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>comments disabled</title>
<description>&lt;p&gt;since this blog is mostly on a hiatus anyway, and spammers are annoying the hell out of me, comments are disabled for this one.&lt;/p&gt;
</description>
<guid>http://pyds.muensterland.org/weblog/2006/09/04.html#P266</guid>
<pubDate>Mon, 04 Sep 2006 14:11:12 GMT</pubDate>
</item>
<item>
<title>trackbacks disabled</title>
<description>&lt;p&gt;I disabled trackbacks due to trackback spamming. Trackback sucks as a protocol anyway and I don&#039;t want to put in any more work in such a sucky protocol.&lt;/p&gt;
</description>
<guid>http://pyds.muensterland.org/weblog/2006/04/22.html#P265</guid>
<ent:cloud ent:href="http://topicexchange.com/topics">
<ent:topic ent:id="python_community_server" ent:href="http://topicexchange.com/t/python_community_server/">python_community_server</ent:topic>
</ent:cloud>
<pubDate>Sat, 22 Apr 2006 12:37:20 GMT</pubDate>
</item>
<item>
<title>A few small updates to PyDS</title>
<description>&lt;p&gt;There was a bit of activity on &lt;a class=&quot;external-reference&quot; href=&quot;http://pyds.muensterland.org/&quot; title=&quot;Python Desktop Server&quot;&gt;Python Desktop Server&lt;/a&gt; recently. Nothing big - only small fixes to make it more compliant with HTML4 strict, as &lt;a class=&quot;external-reference&quot; href=&quot;http://witch.muensterland.org/&quot; title=&quot;Jutta&quot;&gt;Jutta&lt;/a&gt; is working on her blog again.&lt;/p&gt;
</description>
<guid>http://pyds.muensterland.org/weblog/2005/12/30.html#P264</guid>
<ent:cloud ent:href="http://topicexchange.com/topics">
<ent:topic ent:id="python_desktop_server" ent:href="http://topicexchange.com/t/python_desktop_server/">python_desktop_server</ent:topic>
</ent:cloud>
<pubDate>Fri, 30 Dec 2005 16:55:28 GMT</pubDate>
</item>
<item>
<title>Reason for the Silence</title>
<link>http://rfc1437.de/tag/django/</link>
<description>&lt;p&gt;Currently there isn&#039;t much action in my own projects - at least not in those that are documented on this blog. The reason is, I am mostly working with &lt;a class=&quot;reference&quot; href=&quot;http://www.djangoproject.com/&quot;&gt;Django&lt;/a&gt; - and moved over my main blog from it&#039;s Wordpress incarnation into something written by me, based on &lt;a class=&quot;reference&quot; href=&quot;http://www.djangoproject.com/&quot;&gt;Django&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It&#039;s fun to write a CMS again - especially since I did a lot of other stuff in between in that area with several other systems, so it went much faster than last time, where I had to start from zero. That &lt;a class=&quot;reference&quot; href=&quot;http://www.djangoproject.com/&quot;&gt;Django&lt;/a&gt; is quite a nice framework for CMS stuff helps, of course.&lt;/p&gt;
&lt;p&gt;I have a &lt;a class=&quot;reference&quot; href=&quot;https://simon.bofh.ms/cgi-bin/trac-django-projects.cgi/wiki&quot;&gt;Trac instance&lt;/a&gt; for all my &lt;a class=&quot;reference&quot; href=&quot;http://www.djangoproject.com/&quot;&gt;Django&lt;/a&gt; stuff. So you can try it all out.&lt;/p&gt;
</description>
<guid>http://pyds.muensterland.org/weblog/2005/12/30.html#P263</guid>
<ent:cloud ent:href="http://topicexchange.com/topics">
<ent:topic ent:id="python" ent:href="http://topicexchange.com/t/python/">python</ent:topic>
<ent:topic ent:id="software" ent:href="http://topicexchange.com/t/software/">software</ent:topic>
</ent:cloud>
<pubDate>Fri, 30 Dec 2005 16:53:20 GMT</pubDate>
</item>
<item>
<title>Simpler Lazy Evaluation with Python</title>
<description>&lt;p&gt;If you know before what kind of value your function call will return, you can build a very simple decorator for functions or methods that will turn them into lazy evaluation ones. It goes like this:&lt;/p&gt;

class&amp;nbsp;NoneSoFar:&amp;nbsp;pass&lt;br&gt;&gt;
&lt;span&gt;NoneSoFar&amp;nbsp;=&amp;nbsp;NoneSoFar()&lt;br&gt;&gt;
&lt;br&gt;
def&amp;nbsp;lazy(func,&amp;nbsp;resultclass):&lt;br&gt;&gt;
&lt;br&gt;
&amp;nbsp;class&amp;nbsp;__proxy__:&lt;br&gt;&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;__init__(self,&amp;nbsp;args,&amp;nbsp;kw):&lt;br&gt;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt;self.__func&amp;nbsp;=&amp;nbsp;func&lt;br&gt;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt;self.__args&amp;nbsp;=&amp;nbsp;args&lt;br&gt;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt;self.__kw&amp;nbsp;=&amp;nbsp;kw&lt;br&gt;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt;self.__result&amp;nbsp;=&amp;nbsp;NoneSoFar&lt;br&gt;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt;for&amp;nbsp;(k,&amp;nbsp;v)&amp;nbsp;in&amp;nbsp;resultclass.__dict__.items():&lt;br&gt;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt;setattr(self,&amp;nbsp;k,&amp;nbsp;self.__promise__(v))&lt;br&gt;&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;__promise__(self,&amp;nbsp;func):&lt;br&gt;&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;__wrapper__(*args,&amp;nbsp;**kw):&lt;br&gt;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt;if&amp;nbsp;self.__result&amp;nbsp;is&amp;nbsp;NoneSoFar:&lt;br&gt;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt;self.__result&amp;nbsp;=&amp;nbsp;self.__func(*self.__args,&amp;nbsp;**self.__kw)&lt;br&gt;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt;return&amp;nbsp;func(self.__result,&amp;nbsp;*args,&amp;nbsp;**kw)&lt;br&gt;&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;__wrapper__&lt;br&gt;&gt;
&lt;br&gt;
&amp;nbsp;def&amp;nbsp;__wrapper__(*args,&amp;nbsp;**kw):&lt;br&gt;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt;return&amp;nbsp;__proxy__(args,&amp;nbsp;kw)&lt;br&gt;&gt;
&lt;br&gt;
&amp;nbsp;return&amp;nbsp;__wrapper__

&lt;p&gt;To use it is very simple and straight forward:&lt;/p&gt;

def&amp;nbsp;anton(a,b):&lt;br&gt;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt;return&amp;nbsp;a+b&lt;br&gt;&gt;
&lt;br&gt;
anton&amp;nbsp;=&amp;nbsp;lazy(anton,&amp;nbsp;int)&lt;br&gt;&gt;
&lt;br&gt;
print&amp;nbsp;type(anton(5,6))&lt;br&gt;&gt;
&lt;span&gt;print&amp;nbsp;str(anton(5,6))

&lt;p&gt;This should print the __proxy__ instance in the first line and the real value in the second one. The proxy class automatically defines special methods for every method that&#039;s defined on the result type. This works best for builtin types, for more complex types you would have to take precautions not to stomp over important attributes.&lt;/p&gt;
&lt;p&gt;And as you can see this won&#039;t help with ambigiously defined functions - anton could work with strings, too, but the lazy stuff will only install handlers for int magic methods.&lt;/p&gt;
&lt;p&gt;But as the title writes: it&#039;s about simpler lazy evaluation, not the full thing &lt;img src=&quot;http://pyds.muensterland.org/images/wink.gif&quot; border=&quot;0&quot; alt=&quot;Winky&quot;&gt;
&lt;/img&gt;</description>
<guid>http://pyds.muensterland.org/weblog/2005/08/17.html#P262</guid>
<ent:cloud ent:href="http://topicexchange.com/topics">
<ent:topic ent:id="python" ent:href="http://topicexchange.com/t/python/">python</ent:topic>
</ent:cloud>
<pubDate>Wed, 17 Aug 2005 17:18:56 GMT</pubDate>
</item>
<item>
<title>new stuff in TooFPy</title>
<description>&lt;p&gt;There are quite some checkins from today. Two noteable changes:&lt;/p&gt;
&lt;ul class=&quot;simple&quot;&gt;
&lt;li&gt;TooFPy now can make use of Django, I already wrote about that.&lt;/li&gt;
&lt;li&gt;when started with -l, TooFPy will automatically restart the toolserver when it detects any changes in the used modules (tools, wsgi-scripts and system modules). Quite handy for development setups.&lt;/li&gt;
&lt;/ul&gt;
</description>
<guid>http://pyds.muensterland.org/weblog/2005/08/12.html#P261</guid>
<pubDate>Fri, 12 Aug 2005 15:17:20 GMT</pubDate>
</item>
<item>
<title>combining TooFPy and Django</title>
<link>http://simon.bofh.ms/cgi-bin/trac-toofpy.cgi/wiki/TooFPyAndDjango</link>
<description>&lt;p&gt;I just wrote the linked document that describes how and why to combine TooFpy and Django. It&#039;s a quite nice combination - on the one hand you get a very powerfull web application framework for TooFPy, on the other hand you get a very powerfull webservice framework for Django. Combined with the builtin high-performance webserver and all that in a pure python package. Quite nice, I think &lt;img src=&quot;http://pyds.muensterland.org/images/smile.gif&quot; border=&quot;0&quot; alt=&quot;Smiley&quot;&gt;
&lt;/img&gt;</description>
<guid>http://pyds.muensterland.org/weblog/2005/08/12.html#P260</guid>
<ent:cloud ent:href="http://topicexchange.com/topics">
<ent:topic ent:id="software" ent:href="http://topicexchange.com/t/software/">software</ent:topic>
</ent:cloud>
<pubDate>Fri, 12 Aug 2005 15:13:04 GMT</pubDate>
</item>
<item>
<title>Trac rules</title>
<description>&lt;p&gt;Yep. It rules. Definitely. So I just set up a &lt;a class=&quot;reference&quot; href=&quot;http://simon.bofh.ms/cgi-bin/trac-toofpy.cgi&quot;&gt;trac instance for TooFPy&lt;/a&gt;. This is just a first shot at it, so don&#039;t expect too much documentation, yet. But I will improve that situation and try to add stuff from this site and from my harddisc (and my brain) to the wiki. At least you now have a decent source browser, a nice timeline for commits and a ticket system to bug me with requests &lt;img src=&quot;http://pyds.muensterland.org/images/wink.gif&quot; border=&quot;0&quot; alt=&quot;Winky&quot;&gt;
&lt;/img&gt;</description>
<guid>http://pyds.muensterland.org/weblog/2005/08/02.html#P259</guid>
<ent:cloud ent:href="http://topicexchange.com/topics">
<ent:topic ent:id="tools" ent:href="http://topicexchange.com/t/tools/">tools</ent:topic>
</ent:cloud>
<pubDate>Tue, 02 Aug 2005 20:24:32 GMT</pubDate>
</item>
<item>
<title>running Django with lighttpd and FCGI</title>
<link>http://hugo.muensterland.org/2005/07/26/running-django-with-fcgi-and-lighttpd/</link>
<description>&lt;p&gt;I cooked up a short document on how to get this going. It&#039;s over on my main blog.&lt;/p&gt;
&lt;p&gt;(and WSGI just plain rocks, this was allmost too easy to do)&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Update:&lt;/em&gt; I have a &lt;a class=&quot;reference&quot; href=&quot;http://hugo.muensterland.org/2005/07/27/django-lighttpd-and-fcgi-second-take/&quot;&gt;second document&lt;/a&gt; online that talks about load distribution and provides a much nicer django-fcgi.py script to control your FCGI servers outside of the webserver.&lt;/p&gt;
</description>
<guid>http://pyds.muensterland.org/weblog/2005/07/26.html#P258</guid>
<pubDate>Tue, 26 Jul 2005 10:57:04 GMT</pubDate>
</item>
<item>
<title>just &quot;dicking around in a wiki&quot;?</title>
<link>http://www.intertwingly.net/blog/2005/07/19/Atom-0-3-Denouement#c1121910734</link>
<description>&lt;p&gt;Is it just me or do others think that it&#039;s rather devalueing to call the open work on the Atom format in the Wiki &lt;em&gt;just dicking around&lt;/em&gt;? When we were just dicking around, people like Mark called Atom the best thing since sliced bread and called for implementations and denounced RSS as something ugly and bad. Now that people implemented stuff on the 0.3 version, it&#039;s called &lt;em&gt;just dicking around in a wiki&lt;/em&gt;. Oh, and the flamewars start again, of course. This is really rather silly. Oh well, I go back to my ugly and bad - but working - formats, thank you very much.&lt;/p&gt;
</description>
<guid>http://pyds.muensterland.org/weblog/2005/07/22.html#P257</guid>
<category domain="http://pyds.muensterland.org/weblog/">necho</category>
<ent:cloud ent:href="http://pyds.muensterland.org/weblog/">
<ent:topic ent:id="necho" ent:href="http://pyds.muensterland.org/weblog/necho/">necho</ent:topic>
</ent:cloud>
<ent:cloud ent:href="http://topicexchange.com/topics">
<ent:topic ent:id="syndication" ent:href="http://topicexchange.com/t/syndication/">syndication</ent:topic>
</ent:cloud>
<pubDate>Fri, 22 Jul 2005 16:12:48 GMT</pubDate>
</item>
<item>
<title>RBL == Incompetence</title>
<description>&lt;p&gt;Remember my rant about the incompetence of SORBS? They got company: &lt;a class=&quot;reference&quot; href=&quot;http://www.rfc-ignorant.org/tools/detail.php?domain=de&amp;amp;submitted=1094941143&amp;amp;table=whois&quot;&gt;rfc-ignorant.org lists .de&lt;/a&gt; as a complete domain, because they don&#039;t like the whois-interface of the .de toplevel. No, there is no RFC that demands a working whois for domains - especially it&#039;s nothing that&#039;s in the mail RFCs. But they don&#039;t like it and so they just throw it into their silly list.&lt;/p&gt;
&lt;p&gt;Another RBL you can&#039;t use. Actually I am quite sure that all RBL providers are either technically incompetent or totally retarded idiots and sociopaths. Didn&#039;t ever meet someone who isn&#039;t either of one ...&lt;/p&gt;
</description>
<guid>http://pyds.muensterland.org/weblog/2005/04/30.html#P256</guid>
<pubDate>Sat, 30 Apr 2005 14:26:08 GMT</pubDate>
</item>
<item>
<title>TooFPy 0.3.6 released</title>
<link>http://pyds.muensterland.org/wiki/toolserver.html</link>
<description>&lt;p&gt;This is just the long waiting release of TooFPy - nothing new in the last months, I just hadn&#039;t done too much testing with it and so delayed the release until it got a bit more usage.&lt;/p&gt;
&lt;p&gt;The main changes of this release are:&lt;/p&gt;
&lt;ul class=&quot;simple&quot;&gt;
&lt;li&gt;WSGI support (TooFpy can function as a WSGI server)&lt;/li&gt;
&lt;li&gt;Reactor Chain pattern to add hooks into the code in a non-destructive and non-disruptive manner (already used for server start/stop, tuple deleting and for request rewriting)&lt;/li&gt;
&lt;li&gt;better authentication stuff (IP-based, HTTP-based, RSA certificate based, user/group definitions)&lt;/li&gt;
&lt;li&gt;refactoring of the protocol stuff so that it is easily extended for new RPC style protocols&lt;/li&gt;
&lt;li&gt;abstract RPC client that can make use of all new features&lt;/li&gt;
&lt;li&gt;better placement of files under Windows (APPDATA is used)&lt;/li&gt;
&lt;li&gt;refactoring of documentation and WSDL generating code to make use of TooFPy factory tools and so give those more testing (they actually work now!)&lt;/li&gt;
&lt;/ul&gt;
</description>
<guid>http://pyds.muensterland.org/weblog/2005/04/26.html#P255</guid>
<ent:cloud ent:href="http://topicexchange.com/topics">
<ent:topic ent:id="python" ent:href="http://topicexchange.com/t/python/">python</ent:topic>
<ent:topic ent:id="software" ent:href="http://topicexchange.com/t/software/">software</ent:topic>
<ent:topic ent:id="xml_rpc" ent:href="http://topicexchange.com/t/xml_rpc/">xml_rpc</ent:topic>
</ent:cloud>
<pubDate>Tue, 26 Apr 2005 08:38:24 GMT</pubDate>
</item>
<item>
<title>The Incompetence of SORBS.NET</title>
<description>&lt;p&gt;SORBS.NET runs a RBL service that admins foolish enough can use to block mail from supposedly corrupted or spammy servers. From time to time systems of mine are listed in that list. Usually out of rather stupid reasons: one system was listed because it ran FTP services on some high port numbers and that&#039;s defined as being taken over by spammers for the SORBS.NET admins. A recent listing just gives the reason that there are supposedly unknown trojans running on that server - yeah, sure, you don&#039;t know what it is but you define it as a trojan. Suckers.&lt;/p&gt;
&lt;p&gt;So you think you go and check why your server is listed. You reach their site and check the database - enter the IP and send the form. You get a message that you need to register first. What the fuck? They are listing my machine, I want to know why it is listed and they require a registration?&lt;/p&gt;
&lt;p&gt;When you click the register button, you are asked a lot of questions. And several of those are required fields. Of course you only get told this after sending the form with emtpy fields - it would be far too much work for those fools to put visible marks on required fields ...&lt;/p&gt;
&lt;p&gt;What are those required fields? eMail, postal address, phone number (that you only get told after you send an otherwise fully filld form - no, they don&#039;t include it in their first report on required fields), name, skill level. Why the fuck do they need my address and my phone number? This is just plain silly. Filter-fascists ...&lt;/p&gt;
&lt;p&gt;After you jump through their hoops, you can check the database (of course you need to log in after validating their registration - doing onestep-validation-and-registration would be far to complicated for those retards to do). Then you get the lousy excuse they have for listing your server.&lt;/p&gt;
&lt;p&gt;Delisting? Yes, you can do that - but don&#039;t think it&#039;s as easy as pressing a button. No, you must do that from the machine that is listed in the RBL. Yes, of course you need to go through their poor excuse for a web interface for that, too. Yes, it sucks with Lynx - and of course we all run GUI environments on our servers, don&#039;t we?&lt;/p&gt;
&lt;p&gt;I remember on my first encounter with this system that mail via support forms bounced because of broken mail routing. Yeah, they are a real well on incompetence. Bogon field of galactic magnitude ...&lt;/p&gt;
&lt;p&gt;Sorry, but SORBS.NET is the most shitty implementation of a RBL service I ever found. No transparency on what they are listing and why, not easy management of delisting or listing or information gathering and a overall very luserish attitude towards the whole stuff.&lt;/p&gt;
&lt;p&gt;So if you are one of those silly mail admins that uses SORBS.NET for mail filtering: don&#039;t try to ask me anything. I won&#039;t help you and won&#039;t jump through any more hoops just to deliver mail to your inbox. It&#039;s bad enough we have to cope with spammers and broken software - we don&#039;t need the additional burden of totally incompetent idiots running broken RBLs. If I get a bounce on a mail I send because of SORBS.NET filtering, you are out.&lt;/p&gt;
</description>
<guid>http://pyds.muensterland.org/weblog/2005/04/11.html#P254</guid>
<pubDate>Mon, 11 Apr 2005 16:23:28 GMT</pubDate>
</item>
<item>
<title>ActiveStorage now has a SQLite backend</title>
<description>&lt;p&gt;Thanks to Yaroslav Samchu, asfPY now has a SQLite backend. He sent in a first take at this backend and I completed the code so that it now runs with only a few glitches left. One glitch is the support for autoincrementing columns - this isn&#039;t done in an atomic way due to the fact that the pysqlite interface (at lest the 1.something series) doesn&#039;t support atomic update and fetch on those columns and so I had to do a select max() and a combined insert.&lt;/p&gt;
&lt;p&gt;The other glitch is support for data types. SQLite has only it&#039;s flexible data type handling and due to that currently the support for long integers is broken - they are damaged on store and you never get back a long integer on fetch. Due to this the test cases regarding long integers don&#039;t work.&lt;/p&gt;
&lt;p&gt;Otherwise it&#039;s running fine. It&#039;s as slow as the other backends, though. There is definitely optimization needed in asfPY. But hey, it&#039;s just some 0.something version &lt;img src=&quot;http://pyds.muensterland.org/images/smile.gif&quot; border=&quot;0&quot; alt=&quot;Smiley&quot;&gt;
&lt;/img&gt;</description>
<guid>http://pyds.muensterland.org/weblog/2005/04/07.html#P253</guid>
<ent:cloud ent:href="http://topicexchange.com/topics">
<ent:topic ent:id="python" ent:href="http://topicexchange.com/t/python/">python</ent:topic>
</ent:cloud>
<pubDate>Thu, 07 Apr 2005 14:09:04 GMT</pubDate>
</item>
<item>
<title>PythonEggs</title>
<link>http://peak.telecommunity.com/DevCenter/PythonEggs</link>
<description>Yes! That&#039;s exactly what we need - a simple way to push applications out the door. Great stuff.</description>
<guid>http://pyds.muensterland.org/weblog/2005/03/23.html#P252</guid>
<ent:cloud ent:href="http://topicexchange.com/topics">
<ent:topic ent:id="python" ent:href="http://topicexchange.com/t/python/">python</ent:topic>
</ent:cloud>
<pubDate>Wed, 23 Mar 2005 07:53:36 GMT</pubDate>
<source url="http://www.deadlybloodyserious.com/categories/Python/2005/03/23.html#P46">Planet Python</source>
</item>
<item>
<title>Common Lisp</title>
<link>http://common-lisp.net/</link>
<description>Common Lisp Projects</description>
<guid>http://pyds.muensterland.org/blogmark/2004/09/30.html#BM8</guid>
<pubDate>Thu, 30 Sep 2004 13:20:00 GMT</pubDate>
</item>
<item>
<title>Schemers</title>
<link>http://schemers.org/</link>
<description>Schemers Org</description>
<guid>http://pyds.muensterland.org/blogmark/2003/12/11.html#BM7</guid>
<category domain="http://pyds.muensterland.org/weblog/">programming</category>
<ent:cloud ent:href="http://pyds.muensterland.org/weblog/">
<ent:topic ent:id="programming" ent:href="http://pyds.muensterland.org/weblog/programming/">programming</ent:topic>
</ent:cloud>
<pubDate>Thu, 11 Dec 2003 15:45:04 GMT</pubDate>
</item>
<item>
<title>Python</title>
<link>http://python.org/</link>
<description>The Python Language Homepage</description>
<guid>http://pyds.muensterland.org/blogmark/2003/12/11.html#BM6</guid>
<pubDate>Thu, 11 Dec 2003 12:55:28 GMT</pubDate>
</item>
<item>
<title>muensterland.org</title>
<link>http://muensterland.org/</link>
<description>German Weblogcommunity for Radio, bzero and PyDS users</description>
<guid>http://pyds.muensterland.org/blogmark/2003/12/11.html#BM5</guid>
<category domain="http://pyds.muensterland.org/weblog/">blogging</category>
<ent:cloud ent:href="http://pyds.muensterland.org/weblog/">
<ent:topic ent:id="blogging" ent:href="http://pyds.muensterland.org/weblog/blogging/">blogging</ent:topic>
</ent:cloud>
<pubDate>Thu, 11 Dec 2003 12:54:24 GMT</pubDate>
</item>
<item>
<title>Slashdot</title>
<link>http://slashdot.org/</link>
<description>Slashdot - News for Nerds (and Trolls)</description>
<guid>http://pyds.muensterland.org/blogmark/2003/12/11.html#BM4</guid>
<pubDate>Thu, 11 Dec 2003 12:52:16 GMT</pubDate>
</item>
<item>
<title>Python Desktop Server</title>
<link>http://pyds.muensterland.org/</link>
<description>The Python Desktop Server homepage.</description>
<guid>http://pyds.muensterland.org/blogmark/2003/12/11.html#BM3</guid>
<pubDate>Thu, 11 Dec 2003 12:50:08 GMT</pubDate>
</item>
<item>
<title>Python Community Server</title>
<link>http://pycs.net/</link>
<description>The home of the Python Community Server</description>
<guid>http://pyds.muensterland.org/blogmark/2003/12/11.html#BM2</guid>
<pubDate>Thu, 11 Dec 2003 12:27:44 GMT</pubDate>
</item>
<item>
<title>Creating the OPML blogroll story</title>
<link>http://pyds.muensterland.org/pictures/640x480/36.html</link>
<description>&lt;img src=&quot;http://pyds.muensterland.org/pictures/36-150-150.png&quot; alt=&quot;Creating the OPML blogroll story&quot; align=&quot;left&quot; hspace=3 vspace=3 width=&quot;134&quot; height=&quot;150&quot;&gt; This is the screen when creating the OPML blogroll.</description>
<guid>http://pyds.muensterland.org/pictures/640x480/36.html</guid>
<pubDate>Thu, 06 Mar 2003 11:55:44 GMT</pubDate>
</item>
<item>
<title>That&#039;s your cloud after the new message.</title>
<link>http://pyds.muensterland.org/pictures/640x480/35.html</link>
<description>&lt;img src=&quot;http://pyds.muensterland.org/pictures/35-150-150.png&quot; alt=&quot;That&#039;s your cloud after the new message.&quot; align=&quot;left&quot; hspace=3 vspace=3 width=&quot;133&quot; height=&quot;150&quot;&gt; See the similarities? This is your cloud page with the new posting tacked to the top.</description>
<guid>http://pyds.muensterland.org/pictures/640x480/35.html</guid>
<pubDate>Mon, 24 Feb 2003 14:21:52 GMT</pubDate>
</item>
<item>
<title>your weblog is your desktop</title>
<link>http://pyds.muensterland.org/pictures/640x480/34.html</link>
<description>&lt;img src=&quot;http://pyds.muensterland.org/pictures/34-150-150.png&quot; alt=&quot;your weblog is your desktop&quot; align=&quot;left&quot; hspace=3 vspace=3 width=&quot;133&quot; height=&quot;150&quot;&gt; You always see everything you post in your weblog on your desktop. Ok, it doesn&#039;t look exactly like the outside, the cloud, but it&#039;s similar enough.</description>
<guid>http://pyds.muensterland.org/pictures/640x480/34.html</guid>
<pubDate>Mon, 24 Feb 2003 14:21:52 GMT</pubDate>
</item>
<item>
<title>post an item from a newsfeed</title>
<link>http://pyds.muensterland.org/pictures/640x480/33.html</link>
<description>&lt;img src=&quot;http://pyds.muensterland.org/pictures/33-150-150.png&quot; alt=&quot;post an item from a newsfeed&quot; align=&quot;left&quot; hspace=3 vspace=3 width=&quot;133&quot; height=&quot;150&quot;&gt; After clicking the &quot;blog&quot; icon on an item in your newsfeeds, you can add a comment and post your own entry, based on this item.</description>
<guid>http://pyds.muensterland.org/pictures/640x480/33.html</guid>
<pubDate>Mon, 24 Feb 2003 14:21:52 GMT</pubDate>
</item>
<item>
<title>stories are shown as the user will see them</title>
<link>http://pyds.muensterland.org/pictures/640x480/32.html</link>
<description>&lt;img src=&quot;http://pyds.muensterland.org/pictures/32-150-150.png&quot; alt=&quot;stories are shown as the user will see them&quot; align=&quot;left&quot; hspace=3 vspace=3 width=&quot;133&quot; height=&quot;150&quot;&gt; Same as with the weblog, after editing the story you are shown the rendered output on your desktop.</description>
<guid>http://pyds.muensterland.org/pictures/640x480/32.html</guid>
<pubDate>Mon, 24 Feb 2003 14:21:52 GMT</pubDate>
</item>
<item>
<title>Now write some essay</title>
<link>http://pyds.muensterland.org/pictures/640x480/31.html</link>
<description>&lt;img src=&quot;http://pyds.muensterland.org/pictures/31-150-150.png&quot; alt=&quot;Now write some essay&quot; align=&quot;left&quot; hspace=3 vspace=3 width=&quot;133&quot; height=&quot;150&quot;&gt; With some stupid content. Yours could be more interesting ...</description>
<guid>http://pyds.muensterland.org/pictures/640x480/31.html</guid>
<pubDate>Mon, 24 Feb 2003 14:21:52 GMT</pubDate>
</item>
<item>
<title>after adding the macro</title>
<link>http://pyds.muensterland.org/pictures/640x480/30.html</link>
<description>&lt;img src=&quot;http://pyds.muensterland.org/pictures/30-150-150.png&quot; alt=&quot;after adding the macro&quot; align=&quot;left&quot; hspace=3 vspace=3 width=&quot;133&quot; height=&quot;150&quot;&gt; After adding your macro, you usually see this screen - your parsed and added macro source and the edit box below. Sometimes you see a traceback with an error message. Better fix the error, if that happens.</description>
<guid>http://pyds.muensterland.org/pictures/640x480/30.html</guid>
<pubDate>Mon, 24 Feb 2003 14:21:52 GMT</pubDate>
</item>
<item>
<title>lets write our first macro</title>
<link>http://pyds.muensterland.org/pictures/640x480/29.html</link>
<description>&lt;img src=&quot;http://pyds.muensterland.org/pictures/29-150-150.png&quot; alt=&quot;lets write our first macro&quot; align=&quot;left&quot; hspace=3 vspace=3 width=&quot;133&quot; height=&quot;150&quot;&gt; This shows how to add a first macro to the system. This isn&#039;t something complicated, but you need to know python for it.</description>
<guid>http://pyds.muensterland.org/pictures/640x480/29.html</guid>
<pubDate>Mon, 24 Feb 2003 14:21:52 GMT</pubDate>
</item>
<item>
<title>This will be the admin user</title>
<link>http://pyds.muensterland.org/pictures/640x480/28.html</link>
<description>&lt;img src=&quot;http://pyds.muensterland.org/pictures/28-150-150.png&quot; alt=&quot;This will be the admin user&quot; align=&quot;left&quot; hspace=3 vspace=3 width=&quot;133&quot; height=&quot;150&quot;&gt; This will be an user that is allowed to make changes to the system from remote places. You need to enable remote access in your configuration, too.</description>
<guid>http://pyds.muensterland.org/pictures/640x480/28.html</guid>
<pubDate>Mon, 24 Feb 2003 14:21:52 GMT</pubDate>
</item>
<item>
<title>add a user for remote access</title>
<link>http://pyds.muensterland.org/pictures/640x480/27.html</link>
<description>&lt;img src=&quot;http://pyds.muensterland.org/pictures/27-150-150.png&quot; alt=&quot;add a user for remote access&quot; align=&quot;left&quot; hspace=3 vspace=3 width=&quot;133&quot; height=&quot;150&quot;&gt; If you want to access your machine from the outside, add a user that has the needed rights.</description>
<guid>http://pyds.muensterland.org/pictures/640x480/27.html</guid>
<pubDate>Mon, 24 Feb 2003 14:21:52 GMT</pubDate>
</item>
</channel>
</rss>
