You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ws.apache.org by di...@apache.org on 2005/12/09 13:22:06 UTC

svn commit: r355462 [1/7] - in /webservices/admin/planet: ./ cache/ compat_logging/ examples/ fancy-examples/ output/ output/images/

Author: dims
Date: Fri Dec  9 04:21:26 2005
New Revision: 355462

URL: http://svn.apache.org/viewcvs?rev=355462&view=rev
Log:
trying to setup planet webservices

Added:
    webservices/admin/planet/AUTHORS
    webservices/admin/planet/ChangeLog
    webservices/admin/planet/FAQ
    webservices/admin/planet/INSTALL
    webservices/admin/planet/Makefile
    webservices/admin/planet/README
    webservices/admin/planet/THANKS
    webservices/admin/planet/TODO
    webservices/admin/planet/cache/
    webservices/admin/planet/cache/ajith.ranabahu.blogspot.com.atom.xml
    webservices/admin/planet/cache/ajith.ranabahu.blogspot.com.atom.xml,etag
    webservices/admin/planet/cache/ajith.ranabahu.blogspot.com.atom.xml,modified
    webservices/admin/planet/cache/bloglines.com.blog.chamikara.rss
    webservices/admin/planet/cache/bloglines.com.blog.chinthaka.rss
    webservices/admin/planet/cache/bloglines.com.blog.paulfremantle.rss
    webservices/admin/planet/cache/bloglines.com.blog.saminda.rss
    webservices/admin/planet/cache/bloglines.com.blog.samisa.rss
    webservices/admin/planet/cache/bloglines.com.blog.sanjiva.rss
    webservices/admin/planet/cache/blogs.cocoondev.org.dims.index.rdf
    webservices/admin/planet/cache/blogs.cocoondev.org.dims.index.rdf,etag
    webservices/admin/planet/cache/blogs.cocoondev.org.dims.index.rdf,modified
    webservices/admin/planet/cache/jadeepal.blogspot.com.atom.xml
    webservices/admin/planet/cache/jadeepal.blogspot.com.atom.xml,etag
    webservices/admin/planet/cache/jadeepal.blogspot.com.atom.xml,modified
    webservices/admin/planet/cache/ruchith.blogspot.com.atom.xml
    webservices/admin/planet/cache/ruchith.blogspot.com.atom.xml,etag
    webservices/admin/planet/cache/ruchith.blogspot.com.atom.xml,modified
    webservices/admin/planet/cache/sankas.blogspot.com.atom.xml
    webservices/admin/planet/cache/sankas.blogspot.com.atom.xml,etag
    webservices/admin/planet/cache/sankas.blogspot.com.atom.xml,modified
    webservices/admin/planet/compat_logging/
    webservices/admin/planet/compat_logging/__init__.py
    webservices/admin/planet/compat_logging/config.py
    webservices/admin/planet/compat_logging/handlers.py
    webservices/admin/planet/config.ini
    webservices/admin/planet/config.ini.bak
    webservices/admin/planet/default.css
    webservices/admin/planet/examples/
    webservices/admin/planet/examples/config.ini
    webservices/admin/planet/examples/foafroll.xml.tmpl
    webservices/admin/planet/examples/index.html.tmpl
    webservices/admin/planet/examples/opml.xml.tmpl
    webservices/admin/planet/examples/rss10.xml.tmpl
    webservices/admin/planet/examples/rss20.xml.tmpl
    webservices/admin/planet/fancy-examples/
    webservices/admin/planet/fancy-examples/config.ini
    webservices/admin/planet/fancy-examples/index.html.tmpl
    webservices/admin/planet/feedparser.py
    webservices/admin/planet/feedparser.pyc   (with props)
    webservices/admin/planet/foafroll.xml.tmpl
    webservices/admin/planet/foafroll.xml.tmplc   (with props)
    webservices/admin/planet/htmltmpl.py
    webservices/admin/planet/htmltmpl.pyc   (with props)
    webservices/admin/planet/index.html.tmpl
    webservices/admin/planet/index.html.tmplc   (with props)
    webservices/admin/planet/opml.xml.tmpl
    webservices/admin/planet/opml.xml.tmplc   (with props)
    webservices/admin/planet/output/
    webservices/admin/planet/output/images/
    webservices/admin/planet/output/images/edd.png   (with props)
    webservices/admin/planet/output/images/evolution.png   (with props)
    webservices/admin/planet/output/images/jdub.png   (with props)
    webservices/admin/planet/output/images/keybuk.png   (with props)
    webservices/admin/planet/output/images/logo.png   (with props)
    webservices/admin/planet/output/images/planet.png   (with props)
    webservices/admin/planet/output/images/thom.png   (with props)
    webservices/admin/planet/output/planet.css
    webservices/admin/planet/planet.py
    webservices/admin/planet/planetlib.py
    webservices/admin/planet/planetlib.pyc   (with props)
    webservices/admin/planet/pyblosxom.css
    webservices/admin/planet/rss09.xml.tmpl
    webservices/admin/planet/rss09.xml.tmplc   (with props)
    webservices/admin/planet/rss10.xml.tmpl
    webservices/admin/planet/rss10.xml.tmplc   (with props)
    webservices/admin/planet/rss20.xml.tmpl
    webservices/admin/planet/rss20.xml.tmplc   (with props)
    webservices/admin/planet/run.sh
    webservices/admin/planet/timeoutsocket.py

Added: webservices/admin/planet/AUTHORS
URL: http://svn.apache.org/viewcvs/webservices/admin/planet/AUTHORS?rev=355462&view=auto
==============================================================================
--- webservices/admin/planet/AUTHORS (added)
+++ webservices/admin/planet/AUTHORS Fri Dec  9 04:21:26 2005
@@ -0,0 +1,2 @@
+Jeff Waugh <jd...@perkypants.org>
+Scott James Remnant <sc...@netsplit.com>

Added: webservices/admin/planet/ChangeLog
URL: http://svn.apache.org/viewcvs/webservices/admin/planet/ChangeLog?rev=355462&view=auto
==============================================================================
--- webservices/admin/planet/ChangeLog (added)
+++ webservices/admin/planet/ChangeLog Fri Dec  9 04:21:26 2005
@@ -0,0 +1,640 @@
+# do not edit -- automatically generated by arch changelog
+# arch-tag: automatic-ChangeLog--scott@netsplit.com--projects/planet--devel--0.0
+#
+
+2004-01-20 07:34:56 GMT	Scott James Remnant <sc...@netsplit.com>	patch-22
+
+    Summary:
+      fix further bogocity with save_uri (actually save the redirected uri)
+    Revision:
+      planet--devel--0.0--patch-22
+
+
+    modified files:
+     planetlib.py
+
+
+2004-01-20 07:33:54 GMT	Scott James Remnant <sc...@netsplit.com>	patch-21
+
+    Summary:
+      clean up and a couple of minor bug fixes (date_format not being used, save_uri set wrongly)
+    Revision:
+      planet--devel--0.0--patch-21
+
+
+    modified files:
+     planet.py planetlib.py
+
+
+2004-01-20 01:11:00 GMT	Scott James Remnant <sc...@netsplit.com>	patch-20
+
+    Summary:
+      change cowardly debugs to warnings
+    Revision:
+      planet--devel--0.0--patch-20
+
+
+    modified files:
+     planetlib.py
+
+
+2004-01-20 01:02:32 GMT	Scott James Remnant <sc...@netsplit.com>	patch-19
+
+    Summary:
+      ignore feeds containing obviously bogus dates
+    Revision:
+      planet--devel--0.0--patch-19
+
+
+    modified files:
+     planetlib.py
+
+
+2004-01-20 00:52:54 GMT	Scott James Remnant <sc...@netsplit.com>	patch-18
+
+    Summary:
+      sync with jdub, we now have equal source trees
+    Revision:
+      planet--devel--0.0--patch-18
+
+    Patches applied:
+    
+     * jdub@perkypants.org--projects/planet--devel--0.0--patch-35
+       new version of feedparser
+    
+     * jdub@perkypants.org--projects/planet--devel--0.0--patch-36
+       synced with scott
+    
+
+    modified files:
+     feedparser.py
+
+    new patches:
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-35
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-36
+
+
+2004-01-19 01:22:33 GMT	Scott James Remnant <sc...@netsplit.com>	patch-17
+
+    Summary:
+      reverse part of the last change.
+    Revision:
+      planet--devel--0.0--patch-17
+
+
+    modified files:
+     feedparser.py
+
+
+2004-01-19 01:15:05 GMT	Scott James Remnant <sc...@netsplit.com>	patch-16
+
+    Summary:
+      Fix feedparser to work with atom mode=xml feeds
+    Revision:
+      planet--devel--0.0--patch-16
+
+
+    modified files:
+     feedparser.py
+
+
+2004-01-18 21:59:33 GMT	Scott James Remnant <sc...@netsplit.com>	patch-15
+
+    Summary:
+      Invent (and cache) times for entries without them
+    Revision:
+      planet--devel--0.0--patch-15
+
+
+    modified files:
+     planetlib.py
+
+
+2004-01-18 21:13:20 GMT	Scott James Remnant <sc...@netsplit.com>	patch-14
+
+    Summary:
+      catch up with hjdub
+    Revision:
+      planet--devel--0.0--patch-14
+
+    Patches applied:
+    
+     * jdub@perkypants.org--projects/planet--devel--0.0--patch-31
+       scott points out that htmltmpl can do encoding all by itself. gar. i've also set the default log_level to DEBUG -> i'm using the examples for testing all the time now, and it makes it easier when setting up.
+    
+     * jdub@perkypants.org--projects/planet--devel--0.0--patch-32
+       add content xmlns to rss10 example
+    
+     * jdub@perkypants.org--projects/planet--devel--0.0--patch-33
+       Scott's very excellent and generic changes while I was asleep
+    
+     * jdub@perkypants.org--projects/planet--devel--0.0--patch-34
+       mention the uri on 404 errors
+    
+
+    modified files:
+     .arch-ids/planetlib.py.id cache/.arch-ids/=id
+     examples/.arch-ids/index.html.tmpl.id output/.arch-ids/=id
+     planetlib.py
+     {arch}/planet/planet--devel/planet--devel--0.0/scott@netsplit.com--projects/patch-log/base-0
+     {arch}/planet/planet--devel/planet--devel--0.0/scott@netsplit.com--projects/patch-log/patch-1
+     {arch}/planet/planet--devel/planet--devel--0.0/scott@netsplit.com--projects/patch-log/patch-10
+     {arch}/planet/planet--devel/planet--devel--0.0/scott@netsplit.com--projects/patch-log/patch-11
+     {arch}/planet/planet--devel/planet--devel--0.0/scott@netsplit.com--projects/patch-log/patch-2
+     {arch}/planet/planet--devel/planet--devel--0.0/scott@netsplit.com--projects/patch-log/patch-3
+     {arch}/planet/planet--devel/planet--devel--0.0/scott@netsplit.com--projects/patch-log/patch-4
+     {arch}/planet/planet--devel/planet--devel--0.0/scott@netsplit.com--projects/patch-log/patch-5
+     {arch}/planet/planet--devel/planet--devel--0.0/scott@netsplit.com--projects/patch-log/patch-6
+     {arch}/planet/planet--devel/planet--devel--0.0/scott@netsplit.com--projects/patch-log/patch-7
+     {arch}/planet/planet--devel/planet--devel--0.0/scott@netsplit.com--projects/patch-log/patch-8
+     {arch}/planet/planet--devel/planet--devel--0.0/scott@netsplit.com--projects/patch-log/patch-9
+
+    modified directories:
+     cache cache/.arch-ids output output/.arch-ids
+
+    new patches:
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-31
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-32
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-33
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-34
+
+
+2004-01-13 00:17:33 GMT	Scott James Remnant <sc...@netsplit.com>	patch-13
+
+    Summary:
+      merge with jdub again
+    Revision:
+      planet--devel--0.0--patch-13
+
+
+    modified files:
+     examples/config.ini examples/rss10.xml.tmpl
+
+
+2004-01-12 18:29:29 GMT	Scott James Remnant <sc...@netsplit.com>	patch-12
+
+    Summary:
+      Catch exception on remote read, so we can fall back to subscribing from the cache
+    Revision:
+      planet--devel--0.0--patch-12
+
+
+    modified files:
+     planetlib.py
+
+
+2004-01-11 22:28:51 GMT	Scott James Remnant <sc...@netsplit.com>	patch-11
+
+    Summary:
+      increase offset, oops
+    Revision:
+      planet--devel--0.0--patch-11
+
+
+    modified files:
+     planetlib.py
+
+
+2004-01-11 22:13:36 GMT	Scott James Remnant <sc...@netsplit.com>	patch-10
+
+    Summary:
+      add +00:00 to the end of ISO dates
+    Revision:
+      planet--devel--0.0--patch-10
+
+
+    modified files:
+     planetlib.py
+
+
+2004-01-11 22:11:20 GMT	Scott James Remnant <sc...@netsplit.com>	patch-9
+
+    Summary:
+      More timezone/offset fixing to make sure what's in the config file is the UTC offset
+    Revision:
+      planet--devel--0.0--patch-9
+
+
+    modified files:
+     planetlib.py
+
+
+2004-01-11 21:00:04 GMT	Scott James Remnant <sc...@netsplit.com>	patch-8
+
+    Summary:
+      offset needs to be subtracted, not added
+    Revision:
+      planet--devel--0.0--patch-8
+
+
+    modified files:
+     planetlib.py
+
+
+2004-01-11 20:41:07 GMT	Scott James Remnant <sc...@netsplit.com>	patch-7
+
+    Summary:
+      don't cache empty feeds
+    Revision:
+      planet--devel--0.0--patch-7
+
+
+    modified files:
+     planetlib.py
+
+
+2004-01-10 17:35:18 GMT	Scott James Remnant <sc...@netsplit.com>	patch-6
+
+    Summary:
+      MERGE WARS, EPISODE IV
+    Revision:
+      planet--devel--0.0--patch-6
+
+    Mostly I've just changed the templates and things so someone could grab
+    this source, edit config.ini and their Planet site pretty much runs out
+    of the box.
+    
+       * Added a few more things to the [Planet] config section: link,
+         owner_name and owner_email.  These then get dropped into the
+         template, and mean that the examples templates don't contain
+         any references to Planet GNOME now.
+    
+       * output_dir changed to 'output' and both that and the empty
+         cache directory included in the repository.
+    
+       * Drop cgi.escape() in favour of <TMPL_VAR foo ESCAPE="HTML">
+    
+       * Use name not title in opml.xml for each channel
+    
+       * Use id where a unique id is called for, such as rdf:resource,
+         and link to actually give the HTML output.  (id falls back to
+         link)
+    
+       * If creating a Channel or subscribing it fails, don't break, just
+         carry on regardless.
+    
+       * For both Items and the template itself, there's not just 'date'
+         available (the display-formatted date) there's also date_iso and
+         date_822 formatted appropriately.
+    
+       * New config option to give the display date format.
+    
+       * Fix bogus config.get() calls, they don't return the third option
+         at all.
+    
+       * Some vague code tidying (I like 80 columns)
+    
+       * Drop reference to True and False
+    
+
+    new files:
+     cache/.arch-ids/=id output/.arch-ids/=id
+
+    modified files:
+     Makefile examples/config.ini examples/foafroll.xml.tmpl
+     examples/index.html.tmpl examples/opml.xml.tmpl
+     examples/rss10.xml.tmpl examples/rss20.xml.tmpl planet.py
+     planetlib.py
+
+    new directories:
+     cache cache/.arch-ids output output/.arch-ids
+
+
+2004-01-10 16:34:46 GMT	Scott James Remnant <sc...@netsplit.com>	patch-5
+
+    Summary:
+      Merge jdub's changes
+    Revision:
+      planet--devel--0.0--patch-5
+
+    Patches applied:
+    
+     * jdub@perkypants.org--projects/planet--devel--0.0--patch-17
+       clean target
+    
+     * jdub@perkypants.org--projects/planet--devel--0.0--patch-18
+       merged with scott's new planet code
+    
+     * jdub@perkypants.org--projects/planet--devel--0.0--patch-19
+       make it cleaner
+    
+     * jdub@perkypants.org--projects/planet--devel--0.0--patch-20
+       python 2.2 compatibility
+    
+     * jdub@perkypants.org--projects/planet--devel--0.0--patch-21
+       forced delete, yucky but hey
+    
+     * jdub@perkypants.org--projects/planet--devel--0.0--patch-22
+       Say we need Python 2.2, include Planet name in templates, add encoded_content to NewsItem template (and update example), add an RSS 2.0 template example
+    
+     * jdub@perkypants.org--projects/planet--devel--0.0--patch-23
+       hfsnw, multiple outputs rock
+    
+     * jdub@perkypants.org--projects/planet--devel--0.0--patch-24
+       saner example template names, add an info log about template filename
+    
+     * jdub@perkypants.org--projects/planet--devel--0.0--patch-25
+       template fixes
+    
+     * jdub@perkypants.org--projects/planet--devel--0.0--patch-26
+       fix up rss 1.0 template
+    
+     * jdub@perkypants.org--projects/planet--devel--0.0--patch-27
+       opml output template
+    
+     * jdub@perkypants.org--projects/planet--devel--0.0--patch-28
+       bad xml in opml example... gar.
+    
+     * jdub@perkypants.org--projects/planet--devel--0.0--patch-29
+       opml is so much teh suck
+    
+     * jdub@perkypants.org--projects/planet--devel--0.0--patch-30
+       foafroll template, for foaf/rdf blogroll
+    
+
+    new files:
+     compat_logging/.arch-ids/=id
+     compat_logging/.arch-ids/__init__.py.id
+     compat_logging/.arch-ids/config.py.id
+     compat_logging/.arch-ids/handlers.py.id
+     compat_logging/__init__.py compat_logging/config.py
+     compat_logging/handlers.py
+     examples/.arch-ids/foafroll.xml.tmpl.id
+     examples/.arch-ids/opml.xml.tmpl.id
+     examples/.arch-ids/rss10.xml.tmpl.id
+     examples/.arch-ids/rss20.xml.tmpl.id
+     examples/foafroll.xml.tmpl examples/opml.xml.tmpl
+     examples/rss10.xml.tmpl examples/rss20.xml.tmpl
+
+    modified files:
+     Makefile examples/config.ini examples/index.html.tmpl
+     planet.py planetlib.py
+
+    renamed files:
+     examples/.arch-ids/planet.tmpl.id
+       ==> examples/.arch-ids/index.html.tmpl.id
+     examples/planet.tmpl
+       ==> examples/index.html.tmpl
+
+    new directories:
+     compat_logging compat_logging/.arch-ids
+
+    modified directories:
+     {arch}/planet/planet--devel/planet--devel--0.0/scott@netsplit.com--projects
+     {arch}/planet/planet--devel/planet--devel--0.0/scott@netsplit.com--projects/patch-log
+
+    new patches:
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-17
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-18
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-19
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-20
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-21
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-22
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-23
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-24
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-25
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-26
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-27
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-28
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-29
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-30
+
+
+2004-01-10 05:31:55 GMT	Scott James Remnant <sc...@netsplit.com>	patch-4
+
+    Summary:
+      Try/Except in case of failure
+    Revision:
+      planet--devel--0.0--patch-4
+
+
+    modified files:
+     planet.py
+
+
+2004-01-10 05:13:33 GMT	Scott James Remnant <sc...@netsplit.com>	patch-3
+
+    Summary:
+      merge jdub's feedparser update
+    Revision:
+      planet--devel--0.0--patch-3
+
+    Patches applied:
+    
+     * jdub@perkypants.org--projects/planet--devel--0.0--patch-16
+       feedparser.py 2.7.1
+    
+
+    modified files:
+     feedparser.py
+
+    new patches:
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-16
+
+
+2004-01-10 04:52:34 GMT	Scott James Remnant <sc...@netsplit.com>	patch-2
+
+    Summary:
+      Don't need global_vars here, there aren't any
+    Revision:
+      planet--devel--0.0--patch-2
+
+
+    modified files:
+     planet.py
+
+
+2004-01-10 04:36:29 GMT	Scott James Remnant <sc...@netsplit.com>	patch-1
+
+    Summary:
+      complete rewrite, the "Beagle 2" release
+    Revision:
+      planet--devel--0.0--patch-1
+
+    This is what happens when I've got nothing better to do on a Friday
+    evening/night.  I started out to see how easy it would be to add ETag
+    support to the existing code, and ended up pretty much rewriting the
+    whole thing top to bottom.
+    
+    So settle back, get a drink, and let me tell you all about this new
+    version which I'm naming the "Beagle 2" release.  I'll start with the
+    "wow, cool" stuff and work my way down to the "oh, right" stuff.
+    
+    I should note that you can't simply drop this code in and use your old
+    Planet config, I got a bit over-zealous and changed every single config
+    option and template variable.  Sorry, I probably shouldn't have said to
+    get that drink; you might want to clean up a bit before carrying on.
+    
+       * We now have ETag and If-Modified-Since support.  In simple terms,
+         this means that if a feed hasn't changed then it won't be
+         downloaded again until it does.
+    
+       * This means the 'data_directory' has been changed to the
+         'cache_directory' and is now called 'cache' by default.
+    
+       * And in fact, how it *uses* this directory has been completely
+         changed.  The old code was pretty damned sucky in fact, it had to
+         go.
+    
+         This is what it used to do:
+           - Download the feed for each blog, apply the template in
+    	 entry.tmpl to it then write the result into a file in the data
+    	 directory named after the link.
+    
+           - Grab all the files in the data directory, sort them by mtime
+    	 and build the page up from this (using page.tmpl).
+    
+         There was no link between the feed and the entries, whatever was in
+         the data directory would get displayed.  That's why we get
+         duplicated entries when people changed their link.
+    
+         This is what we now do:
+           - Download the feed for each blog and save the unparsed feed into
+             the cache directory, named after the uri we got it from.
+    
+           - Parse the feed and aggregate them all in memory, applying the
+             template to the lot.
+    
+         Actually that's not quite true, when we create the channel we load
+         the cached feed, etag and modified information, *then* we download
+         the feed if it has changed.  We parse whichever won.
+    
+       * This means I changed the templates too, we now only have one called
+         'planet.tmpl' (in examples, anyway) -- you basically paste the old
+         'entry.tmpl' inside the new <TMPL_VAR Items> loop.
+    
+         The new single config file variable is therefore 'template_file'
+         and for kicks the output file is now 'output_file'.
+    
+       * I suppose now's the time to rave about the new code in
+         'planetlib.py'.  This consists of three classes, two of which are
+         loosely based on the old ones from 'planet.py'.
+    
+         Planet:   A collection of channels (a website).
+         Channel:  A collection of news items (a parsed feed).
+         NewsItem: A news item.
+    
+         Here's a quick use of this:
+    
+           import planetlib
+    
+           p = planetlib.Planet()
+           p.subscribe(planetlib.Channel("http://somewhere.com/rss"))
+           p.subscribe(planetlib.Channel("http://elsewhere.org/atom"))
+           
+           for channel in p.channels():
+               # Make the blogroll
+    	   
+           for item in p.items():
+               # And make the web page
+    
+         I'm sure you already realise how easy this new API will be to
+         import blogrolls and export RDF and blogrolls ;)
+    
+       * This obviously means there's not much left in 'planet.py' now,
+         in fact all it does is parse the config file, use the planetlib
+         API to build up a planet, then use the template stuff to write
+         it back out.
+    
+         Btw, I changed 'blog_items_to_show' to the slightly more sensible
+         'items_per_page' (because it's easy to have multiple pages now :p)
+    
+       * I took this opportunity to make the template stuff a bit smarter
+         too.  You have two TMPL_LOOP variables 'Items' and 'Channels'
+         and a TMPL_VAR called 'date' (was 'freshness') available.
+    
+         Inside TMPL_LOOP Channels you have 'uri' (the feed, not the link),
+         'title', 'description' and 'link' available, taken from the feed.
+         You ALSO have any config option you left in the configuration
+         file, such as 'name', 'face', 'facewidth', etc.  (as a
+         Brucey-Bonus, 'name' defaults to 'title').
+    
+         Inside TMPL_LOOP Items you have 'id', 'date', 'title', 'summary',
+         'content' and 'link'; all referring to the news item itself.
+         You also have 'new_date' (was 'new_day' and 'date') which is
+         empty unless this entry starts on a new date (TMPL_IF it, in fact
+         you can TMPL_IF anything now).
+    
+         And that's not all, you ALSO have everything from the channel
+         but prefixed with 'channel_' (so 'channel_name', 'channel_face',
+         'channel_title', etc.)
+    
+       * Because of this new feature of anything in the config file being
+         available in the template, I'm forcing the proper use of the
+         [DEFAULT] section.  Everything that was there is now in the
+         [Planet] section (I renamed nearly all of them anyway :p), the
+         [DEFAULT] section provides defaults for the blogs...
+    
+         For Planet Debian, I can go:
+    
+           [DEFAULT]
+           facewidth = 64
+           faceheight = 64
+    
+           [http://www.livejournal.com/users/keybuk/data/rss]
+           name = Scott James Remnant
+           face = keybuk.png
+           facewidth = 51
+           # faceheight defaults to 64
+    
+       * Planet Debian moved to a debian/unstable box, so I have Python 2.3
+         goodness available, hurrah!  Dropping the newer sgmllib in was what
+         was coredumping it *sulk*.
+    
+         I've taken advantage of this and dropped log4py in favour of the
+         new 'logging' module.  'log_level' is now therefore one of
+         DEBUG, INFO, WARNING, ERROR or CRITICAL.
+    
+       * Also gone is SimpleStripper now we don't use it.
+    
+       * I've written a new example configuration file and template file for
+         the 'examples' directory.
+    
+       * 'roll_in_utc' has been lost because feedparser always returns UTC.
+    
+    
+    Whew, not bad for an evening's work.
+
+    new files:
+     .arch-ids/planetlib.py.id examples/.arch-ids/planet.tmpl.id
+     examples/planet.tmpl planetlib.py
+
+    removed files:
+     .arch-ids/SimpleStripper.py.id .arch-ids/log4py.py.id
+     SimpleStripper.py examples/.arch-ids/entry.tmpl.id
+     examples/.arch-ids/page.tmpl.id examples/entry.tmpl
+     examples/page.tmpl log4py.py
+
+    modified files:
+     AUTHORS examples/config.ini planet.py
+
+
+2004-01-09 21:38:38 GMT	Scott James Remnant <sc...@netsplit.com>	base-0
+
+    Summary:
+      tag of jdub@perkypants.org--projects/planet--devel--0.0--patch-15
+    Revision:
+      planet--devel--0.0--base-0
+
+    (automatically generated log message)
+
+    new patches:
+     jdub@perkypants.org--projects/planet--devel--0.0--base-0
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-1
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-2
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-3
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-4
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-5
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-6
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-7
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-8
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-9
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-10
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-11
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-12
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-13
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-14
+     jdub@perkypants.org--projects/planet--devel--0.0--patch-15
+     jdub@perkypants.org--projects/planet--pyblagg--0.0--base-0
+
+

Added: webservices/admin/planet/FAQ
URL: http://svn.apache.org/viewcvs/webservices/admin/planet/FAQ?rev=355462&view=auto
==============================================================================
--- webservices/admin/planet/FAQ (added)
+++ webservices/admin/planet/FAQ Fri Dec  9 04:21:26 2005
@@ -0,0 +1,29 @@
+Q. What is this file?
+A. Some questions and answers for the Planet Apache group blog.
+
+Q. What's the status of planet apache?
+A. An initial version is running at http://planetapache.org/.
+   The sources will show up here soon.
+
+Q. How do I join the fun?
+A. Make an RSS or Atom feed for what you wish to contribute, then
+   edit the file config.ini.
+
+Q. What's up with the "face" entry in the config.ini file?
+A. You can reveal an image of yourself if you want.  Or you can just
+   refer to the feather icon like many folks do.  Someday that face image
+   will appear on the Planet Apache page.
+
+Q. How can I make category RSS feeds in MovableType?
+A. See: http://www.hutteman.com/weblog/2003/03/07-49.html
+   but you'll need a sufficently new version of MovableType.
+
+Q. How is this related to the krell module?
+A. Currently they are just good friends.  Krell will collect RSS feeds
+   but we don't synchronize it's list with that of krell.
+
+Q. How come the krell map isn't on Planet Apache?
+A. We are waiting for you to get around to that.
+
+Q.  Who do I contact if I'm having problems?
+A.  Ted Leung <tw...@apache.org> or Thom May <th...@apache.org> directly.

Added: webservices/admin/planet/INSTALL
URL: http://svn.apache.org/viewcvs/webservices/admin/planet/INSTALL?rev=355462&view=auto
==============================================================================
--- webservices/admin/planet/INSTALL (added)
+++ webservices/admin/planet/INSTALL Fri Dec  9 04:21:26 2005
@@ -0,0 +1,148 @@
+Installing Planet
+-----------------
+
+You'll need at least Python 2.2 installed on your system.  For extra
+functionality, you may wish to install the following modules, but it's
+not necessary.
+
+	gzip	....	provides support for gzipped feeds
+	mxTidy	....	will convert feed content to valid XHTML
+
+Everything else Pythonesque Planet needs is included in the distribution.
+
+ i.
+    First you'll need to extract the files into a folder somewhere.
+    I expect you've already done this, after all, you're reading this
+    file.  You can place this wherever you like, ~/planet is a good
+    choice, but so's anywhere else you prefer.
+
+ ii.
+    Make a copy the 'examples' subdirectory, name it whatever you feel
+    like; I like to use the Planet's name (so ~/planet/debian), but
+    it's really up to you.
+
+    The example index.html is pretty plain and boring, if you're after
+    less documentation and more instant gratification you may wish to
+    use the files in 'fancy-examples' directory as your base instead.
+
+    If you do this, be sure to copy the xml.tmpl files from the
+    'examples' directory as well (they're good enough) and copy the
+    stylesheet and images from the 'output' directory to somewhere
+    your web server can get at them.
+
+ iii.
+    Edit the config.ini file in this directory to taste, it's pretty
+    well documented so you shouldn't have any problems here.  Pay
+    particular attention to the 'output_dir' option, which should be
+    readable by your web server and especially the 'template_files'
+    option where you'll want to change "examples" to wherever you just
+    placed your copies.
+
+ iv.
+    Edit the various template (*.tmpl) files to taste, a complete list
+    of available variables is at the bottom of this file.
+
+ v.
+    Run it: python planet.py pathto/config.ini
+
+    You'll want to add this to cron, make sure you run it from the
+    right directory.
+
+ vi.
+    Tell us about it! We'd love to link to you on planetplanet.org :-)
+
+
+Template files
+--------------
+
+The template files used are given as a space separated list in the
+'template_files' option in config.ini.  They are named ending in '.tmpl'
+which is removed to form the name of the file placed in the output
+directory.
+
+Reading through the example templates is recommended, they're designed to
+pretty much drop straight into your site with little modification
+anyway.
+
+Inside these template files, <TMPL_VAR xxx> is replaced with the content
+of the 'xxx' variable.  The variables available are:
+
+	name	....	} the value of the equivalent options
+	link	....	} from the [Planet] section of your
+	owner_name .	} Planet's config.ini file
+	owner_email	}
+
+	uri	....	link with the output filename appended
+
+	date	....	                         { your date format
+	date_iso ...	current date and time in { ISO date format
+	date_822 ...	                         { RFC822 date format
+
+
+There are also two loops, 'Items' and 'Channels'.  All of the lines of
+the template and variable substitutions are available for each item or
+channel.  Loops are created using <TMPL_LOOP LoopName>...</TMPL_LOOP>
+and may be used as many times as you wish.
+
+The 'Channels' loop iterates all of the channels (feeds) defined in the
+configuration file, within it the following variables are available:
+
+	name	....	value of the 'name' option in config.ini, or title
+	title	....	title retreived from the channel's feed
+	description	description retreived from the channel's feed
+	link	....	link for the human-readable content (from the feed)
+	uri	....	uri of the channel's feed itself
+
+	Additionally the value of any other option specified in config.ini
+	for the feed, or in the [DEFAULT] section, is available as a
+	variable of the same name.
+
+The 'Items' loop iterates all of the blog entries from all of the channels,
+you do not place it inside a 'Channels' loop.  Within it, the following
+variables are available:
+
+	id	....	unique id for this entry (sometimes just the link)
+	link	....	link to a human-readable version at the origin site
+
+	title	....	title of the entry
+	summary	....	a short "first page" summary
+	content	....	the full content of the entry
+	creator ....	if present, the author of this particular entry
+
+	date	....	                              { your date format
+	date_iso ...	date and time of the entry in { ISO date format
+	date_822 ...                                  { RFC822 date format
+
+	If the entry takes place on a date that has no prior entry has
+	taken place on, the 'new_date' variable is set to that date.
+	This allows you to break up the page by day.
+
+	If the entry is from a different channel to the previous entry,
+	or is the first entry from this channel on this day
+	the 'new_channel' variable is set to the same value as the
+	'channel_uri' variable.  This allows you to collate multiple
+	entries from the same person under the same banner.
+	
+	Additionally the value of any variable that would be defined
+	for the channel is available, with 'channel_' prepended to the
+	name (e.g. 'channel_name' and 'channel_link').
+
+
+There are also a couple of other special things you can do in a template.
+
+ -  If you want HTML escaping applied to the value of a variable, use the
+    <TMPL_VAR xxx ESCAPE="HTML"> form.
+
+ -  If you want URI escaping applied to the value of a variable, use the
+    <TMPL_VAR xxx ESCAPE="URI"> form.
+
+ -  To only include a section of the template if the variable has a
+    non-empty value, you can use <TMPL_IF xxx>....</TMPL_IF>.  e.g.
+
+    <TMPL_IF new_date>
+    <h1><TMPL_VAR new_date></h1>
+    </TMPL_IF>
+
+    You may place a <TMPL_ELSE> within this block to specify an
+    alternative, or may use <TMPL_UNLESS xxx>...</TMPL_UNLESS> to
+    perform the opposite.

Added: webservices/admin/planet/Makefile
URL: http://svn.apache.org/viewcvs/webservices/admin/planet/Makefile?rev=355462&view=auto
==============================================================================
--- webservices/admin/planet/Makefile (added)
+++ webservices/admin/planet/Makefile Fri Dec  9 04:21:26 2005
@@ -0,0 +1,17 @@
+PLANET_VER = nightly
+
+planet-$(PLANET_VER).tar.bz2: planet-$(PLANET_VER)
+	@tar cjvf $@ $<
+	@rm -rf $<
+	@du -sh $@
+
+planet-$(PLANET_VER): clean rm-planet-tarball
+	@tla inventory --source | cpio --quiet -dp $@
+
+rm-planet-tarball:
+	@rm -f planet-$(PLANET_VER).tar.bz2
+
+clean: rm-planet-tarball
+	@rm -rf *.pyc compat_logging/*.pyc examples/*.tmplc fancy-examples/*.tmplc *.orig *.rej output/*.html output/*.xml cache/* *~ */*~
+
+.PHONY: rm-planet-tarball clean

Added: webservices/admin/planet/README
URL: http://svn.apache.org/viewcvs/webservices/admin/planet/README?rev=355462&view=auto
==============================================================================
--- webservices/admin/planet/README (added)
+++ webservices/admin/planet/README Fri Dec  9 04:21:26 2005
@@ -0,0 +1,14 @@
+This directory's contents contain information that is considered
+private by the The Apache Software Foundation and the individual committers.
+Please treat it with respect.
+
+You may find the FAQ more accessible.
+
+The tools here are used to build a web site currently known as 
+planetapache.org.  That site hosts a group blog; we just join some
+rss and atom feeds.
+
+This list of things to join is configured in the file config.ini.
+To volunteer your feed, edit that file.  
+
+... tbd...

Added: webservices/admin/planet/THANKS
URL: http://svn.apache.org/viewcvs/webservices/admin/planet/THANKS?rev=355462&view=auto
==============================================================================
--- webservices/admin/planet/THANKS (added)
+++ webservices/admin/planet/THANKS Fri Dec  9 04:21:26 2005
@@ -0,0 +1,14 @@
+Patch Submitters
+----------------
+
+Gediminas Paulauskas
+
+
+Spycyroll Maintainers
+---------------------
+
+Vattekkat Satheesh Babu
+Richard Jones
+Garth Kidd
+Eliot Landrum
+Bryan Richard

Added: webservices/admin/planet/TODO
URL: http://svn.apache.org/viewcvs/webservices/admin/planet/TODO?rev=355462&view=auto
==============================================================================
--- webservices/admin/planet/TODO (added)
+++ webservices/admin/planet/TODO Fri Dec  9 04:21:26 2005
@@ -0,0 +1,85 @@
+Feature Goals for Planet 1.0
+============================
+
+  * Store and use feed history
+
+    We have a huge problem at the moment, in that we only display the current
+    contents of the feeds we download. The old Netscape standard was 15 items
+    in a feed, so many people still use that. Unfortunately, on sites like
+    Slashdot, those 15 items move *very* quickly. So as they fall off the feed,
+    they fall off your Planet aggregate. That is bad, bad, bad, and we need to
+    solve it. Any ideas? There are potential bugs all over this. :-)
+
+  * Add multiple keyword support
+
+    I hadn't announced it yet, but I have added a simple 'keyword feeds'
+    feature, which allows you to subscribe to feeds and only display items that
+    mention your keyword in the title, summary or description. This is totally
+    arse-kickingly rad, and demonstrated on my personal Planet.
+    
+    However, currently it only allows you to define one keyword phrase for each
+    feed, which kinda sucks. If there's some quick-and-dirty boolean phrase
+    parser, we could use it really well here, for instance:
+
+      keyword = (gnome OR kde) NOT sucks
+
+    Maybe that's overkill - we could just support multiple ORed keyword fields.
+
+  * Fix stupid UTF-8 error with current keyword support
+
+    For some reason, keyword support tweaks string encoding errors, such as:
+    "WARNING:root:Item wasn't in UTF-8 or ISO-8859-1, replaced all non-ASCII
+    characters." This is bad.
+
+  * Allow templates to use extra feed elements
+
+    See Frederic's thread about Freshmeat the other day. I don't want to
+    special case everything, and I don't want to stomp on item variables we
+    already have, but it would be nice to bring special things from feeds up
+    into the template data structure. Should we only do this for namespaced
+    elements (extensions)?
+
+  * Fix intermittent timezone detection / arithmetic bugs
+
+    From Nick Moffitt: "Right now there's something screwy in the way planet
+    deals with time zones, so that all you Australians end up claiming the top
+    of my planet while merkins I want to read end up shoved down a ways."
+
+  * Allow display normalisation to specified timezone
+
+    Some Planet admins would like their feed to be displayed in the local
+    timezone, instead of UTC.
+
+  * Add "sort by entry received date" option
+
+    From Nick Moffitt: "Is there a way to get planet to not do entry-date
+    placement at all?  Like, always put new entries up in the order they were
+    first seen by planet?  I use mine to implement the "show me stuff I haven't
+    already read yet" feature that pretty much all Web sites lack.
+
+    Answer from Scott J. Remnant: "Yeah, this would be actually pretty easy ...
+    it already has this code for entries missing times entirely, I'll add a
+    config option to just outright ignore feed times and sort by seen order.
+    I'll make it a per-feed option, maybe "sort_order = seen/time" and if you
+    want it global just stick it in [DEFAULT]."
+
+  * Support OPML and foaf subscriptions
+
+    This might be a bit invasive, but I want to be able to subscribe to OPML
+    and FOAF files, and see each feed as if it were subscribed individually.
+    Perhaps we can do this with a two-pass configuration scheme, first to pull
+    the static configs, second to go fetch and generate the dynamic configs.
+    The more I think about it, the less invasive it sounds. Hmm.
+
+  * Provide a 'disabled' configuration option
+
+    Make it easy to mark a feed as disabled, but still show it on the subs
+    list. Perhaps disabled is the wrong word. Some people want to use Planet to
+    do their blogroll management, but not actually show some feeds in the
+    aggregation. If someone can think of a better word, please tell me.
+    Perhaps 'hide'.
+
+Other Feature Goals
+===================
+
+  * Port to feedparser 3.0

Added: webservices/admin/planet/cache/ajith.ranabahu.blogspot.com.atom.xml
URL: http://svn.apache.org/viewcvs/webservices/admin/planet/cache/ajith.ranabahu.blogspot.com.atom.xml?rev=355462&view=auto
==============================================================================
--- webservices/admin/planet/cache/ajith.ranabahu.blogspot.com.atom.xml (added)
+++ webservices/admin/planet/cache/ajith.ranabahu.blogspot.com.atom.xml Fri Dec  9 04:21:26 2005
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?>
+
+<feed xmlns="http://purl.org/atom/ns#" version="0.3" xml:lang="en-US">
+<link href="https://www.blogger.com/atom/16574998" rel="service.post" title="How I see the world" type="application/atom+xml"/>
+<link href="https://www.blogger.com/atom/16574998" rel="service.feed" title="How I see the world" type="application/atom+xml"/>
+<title mode="escaped" type="text/html">How I see the world</title>
+<tagline mode="escaped" type="text/html"></tagline>
+<link href="http://ajith-ranabahu.blogspot.com" rel="alternate" title="How I see the world" type="text/html"/>
+<id>tag:blogger.com,1999:blog-16574998</id>
+<modified>2005-10-25T12:47:54Z</modified>
+<generator url="http://www.blogger.com/" version="5.15">Blogger</generator>
+<info mode="xml" type="text/html">
+<div xmlns="http://www.w3.org/1999/xhtml">This is an Atom formatted XML site feed. It is intended to be viewed in a Newsreader or syndicated to another site. Please visit the <a href="http://help.blogger.com/bin/answer.py?answer=697">Blogger Help</a> for more info.</div>
+</info>
+<convertLineBreaks xmlns="http://www.blogger.com/atom/ns#">true</convertLineBreaks>
+<entry xmlns="http://purl.org/atom/ns#">
+<link href="https://www.blogger.com/atom/16574998/113024447415257109" rel="service.edit" title="Deception Point" type="application/atom+xml"/>
+<author>
+<name>Aj</name>
+</author>
+<issued>2005-10-25T18:25:00+06:00</issued>
+<modified>2005-10-25T12:47:54Z</modified>
+<created>2005-10-25T12:47:54Z</created>
+<link href="http://ajith-ranabahu.blogspot.com/2005/10/deception-point.html" rel="alternate" title="Deception Point" type="text/html"/>
+<id>tag:blogger.com,1999:blog-16574998.post-113024447415257109</id>
+<title mode="escaped" type="text/html">Deception Point</title>
+<content type="application/xhtml+xml" xml:base="http://ajith-ranabahu.blogspot.com" xml:space="preserve">
+<div xmlns="http://www.w3.org/1999/xhtml">A few days age at 4' o clock in the morning I finished Dan Browns '<a href="http://www.danbrown.com/novels/deception_point/reviews.html">Deception Point</a>'. (boy I'm getting insomnia or what). It's a great story, with remarkable pace and wide reach into science,politics and adventure. I quite liked the story except for a glitch here and there (You know, a senator who has no Idea what so ever of science looking at a soanr photograph and instantly identifying what it is :)) but hey the story is quite ok anyway.</div>
+</content>
+<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
+</entry>
+<entry xmlns="http://purl.org/atom/ns#">
+<link href="https://www.blogger.com/atom/16574998/112952476163035571" rel="service.edit" title="Once again back in Sahana" type="application/atom+xml"/>
+<author>
+<name>Aj</name>
+</author>
+<issued>2005-10-17T10:36:00+06:00</issued>
+<modified>2005-10-17T15:42:56Z</modified>
+<created>2005-10-17T04:52:41Z</created>
+<link href="http://ajith-ranabahu.blogspot.com/2005/10/once-again-back-in-sahana.html" rel="alternate" title="Once again back in Sahana" type="text/html"/>
+<id>tag:blogger.com,1999:blog-16574998.post-112952476163035571</id>
+<title mode="escaped" type="text/html">Once again back in Sahana</title>
+<content type="application/xhtml+xml" xml:base="http://ajith-ranabahu.blogspot.com" xml:space="preserve">
+<div xmlns="http://www.w3.org/1999/xhtml">I was one of the volunteers that helped to architecture and build '<a href="http://sahana.sourceforge.net/">Sahana</a>' and unfortunately (??) I am one of the people who has enough knowledge to manipulate the J2EE backend (Sahana phaseI is a collection of PHP and J2EE web applications. Somewhat messy but it was the best we could do in a week!). This horrifc earthquake in Pakistan (presumably a greater disaster than the tsunami!) required a disaster management system and Sahana seemed to be a good candidate. Chamindra and Bud are already there and introducing the system, and I helped them to retune the backend/frontend of the J2EE side.<br/>The retuning basically involved removing the barely functioning security stuff and replacing it with basic authentication. I managed to make the webapps functional and made up the war files and sent them along to Bud to be placed in the Demo linux box, with the humble assumption of any developer, "
 it works on my machine, so it should in yours" :). However I forgot one major issue! MySQL on Windows has case insensitive table names and MySQL on Linux has it completely opposite. You can have two tables with the same name but different case (say 'table1' and 'TABLE1') in a MySQL server on Linux (I guess this is a well known issue. Actually we realized this in the early stages of Sahan phaseI developement1). Since I was doing my development on Windows, the script had table names in lowercase but some of the table names in the SQL statements inside the applications were in upper case. This caused the system not to function in certain instances and resulted in an interesting debugging session!<br/>I was 2/3 of my way home (roughly 60km away from Colombo) when I got this call from Dr Sanjiva. So I parked the car (in the middle of nowhere!), pulled out the laptop and went through the code, with the phone on my ear.  Amazingly after about 15 minutes of head scratching we found 
 the cause and the system was back on it's heels in 5 more minutes :) As Dr Sanjiva said, "This is one such incident that you shouldn't miss to blog" :)</div>
+</content>
+<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
+</entry>
+<entry xmlns="http://purl.org/atom/ns#">
+<link href="https://www.blogger.com/atom/16574998/112948045043070123" rel="service.edit" title="Information and trust" type="application/atom+xml"/>
+<author>
+<name>Aj</name>
+</author>
+<issued>2005-10-16T11:35:00+06:00</issued>
+<modified>2005-10-16T16:34:10Z</modified>
+<created>2005-10-16T16:34:10Z</created>
+<link href="http://ajith-ranabahu.blogspot.com/2005/10/information-and-trust.html" rel="alternate" title="Information and trust" type="text/html"/>
+<id>tag:blogger.com,1999:blog-16574998.post-112948045043070123</id>
+<title mode="escaped" type="text/html">Information and trust</title>
+<content type="application/xhtml+xml" xml:base="http://ajith-ranabahu.blogspot.com" xml:space="preserve">
+<div xmlns="http://www.w3.org/1999/xhtml">The advances of the Internet has placed a vast amount of information on our hands. However I wonder whether it has deteriorated the trust we put in the information at our hand, even the ones that we get from seemingly trusted sources!<br/>Here's a small incident that would be a fine example for this. A couple of days ago there was a mail in our university batch mailing list. It read  "An Indian programmer found this. You cannot make a folder called "CON" in Windows and even Bill Gates can't explain it".  Even my immediate response to it was trying to make a folder and rename it to 'CON', which obviously failed miserably. I did not pursue it further but there were some more mails in the same thread, things like "Oh. You can't make 'com' either". Finally there was a reply from one of the .net guys (obviously these are the guys that literally 'live' with Windows :)) with a <a href="http://msdn.microsoft.com/library/default.asp?url=/libr
 ary/en-us/fileio/fs/naming_a_file.asp">link to MSDN library</a>
+<br/>that explained the situation!<br/>What made me think about this simple incident is that since we do  'dig deeper' some times, we'll be misled. In this case, unless there was this explanation, certainly I wouldn't have bothered to find out  more on this, and I would have continued to believe that this was indeed a problem with Windows!</div>
+</content>
+<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
+</entry>
+<entry xmlns="http://purl.org/atom/ns#">
+<link href="https://www.blogger.com/atom/16574998/112894927356512807" rel="service.edit" title="Adam - How correct you are !" type="application/atom+xml"/>
+<author>
+<name>Aj</name>
+</author>
+<issued>2005-10-07T12:32:00+06:00</issued>
+<modified>2005-10-10T13:01:13Z</modified>
+<created>2005-10-10T13:01:13Z</created>
+<link href="http://ajith-ranabahu.blogspot.com/2005/10/adam-how-correct-you-are.html" rel="alternate" title="Adam - How correct you are !" type="text/html"/>
+<id>tag:blogger.com,1999:blog-16574998.post-112894927356512807</id>
+<title mode="escaped" type="text/html">Adam - How correct you are !</title>
+<content type="application/xhtml+xml" xml:base="http://ajith-ranabahu.blogspot.com" xml:space="preserve">
+<div xmlns="http://www.w3.org/1999/xhtml">I've listned to the presentation by <a href="http://www.adambosworth.net/archives/000049.html">Adam Bosworth</a> in the morning. During a discussion in the afternoon about JAX-RPC (and a lot other things) I felt how correct Adam is!<br/>When the API designers are far away from the users, things become so inflexible that people don't use them anymore.  My hunch is that computer software will undergo a mentality change soon. Just like in the consumer market where "customer is the king" we'll be saying "user is the king" pretty soon in the software industry!</div>
+</content>
+<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
+</entry>
+<entry xmlns="http://purl.org/atom/ns#">
+<link href="https://www.blogger.com/atom/16574998/112866633166229188" rel="service.edit" title="Life's like that :)" type="application/atom+xml"/>
+<author>
+<name>Aj</name>
+</author>
+<issued>2005-10-07T12:13:00+06:00</issued>
+<modified>2005-10-07T06:26:08Z</modified>
+<created>2005-10-07T06:25:31Z</created>
+<link href="http://ajith-ranabahu.blogspot.com/2005/10/lifes-like-that.html" rel="alternate" title="Life's like that :)" type="text/html"/>
+<id>tag:blogger.com,1999:blog-16574998.post-112866633166229188</id>
+<title mode="escaped" type="text/html">Life's like that :)</title>
+<content type="application/xhtml+xml" xml:base="http://ajith-ranabahu.blogspot.com" xml:space="preserve">
+<div xmlns="http://www.w3.org/1999/xhtml">Dr Sanjiva gave us a party at his place yesterday and thanks to the techinical advancements of digital photography (and of course the web), images are all over the place already. It's slightly embarassing (Can't help the feeling. Lucky that I'm not a hot head) to see <a href="http://photos1.blogger.com/blogger/827/1582/1600/IMG_0012.jpg">myslef playing with the bunny</a>! (it's actually the bunny  we brought for Dr Sanjiva's youngest daughter).<br/>It's a lot more fun to see how the guys are so focused on <span style="font-style: italic;">interpreting</span> the image :)</div>
+</content>
+<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
+</entry>
+<entry xmlns="http://purl.org/atom/ns#">
+<link href="https://www.blogger.com/atom/16574998/112678973489058982" rel="service.edit" title="Colombo book fair" type="application/atom+xml"/>
+<author>
+<name>Aj</name>
+</author>
+<issued>2005-09-15T19:05:00+06:00</issued>
+<modified>2005-10-07T06:27:54Z</modified>
+<created>2005-09-15T13:08:54Z</created>
+<link href="http://ajith-ranabahu.blogspot.com/2005/09/colombo-book-fair.html" rel="alternate" title="Colombo book fair" type="text/html"/>
+<id>tag:blogger.com,1999:blog-16574998.post-112678973489058982</id>
+<title mode="escaped" type="text/html">Colombo book fair</title>
+<content type="application/xhtml+xml" xml:base="http://ajith-ranabahu.blogspot.com" xml:space="preserve">
+<div xmlns="http://www.w3.org/1999/xhtml">There's a <a href="http://www.lankanewspapers.com/news/2005/9/3514.html">great book fair in Colombo</a>. If you are around you should definitely pay it a visit :)</div>
+</content>
+<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
+</entry>
+<entry xmlns="http://purl.org/atom/ns#">
+<link href="https://www.blogger.com/atom/16574998/112678926766621684" rel="service.edit" title="Women and  Software" type="application/atom+xml"/>
+<author>
+<name>Aj</name>
+</author>
+<issued>2005-09-15T17:59:00+06:00</issued>
+<modified>2005-10-07T06:28:41Z</modified>
+<created>2005-09-15T13:01:07Z</created>
+<link href="http://ajith-ranabahu.blogspot.com/2005/09/women-and-software.html" rel="alternate" title="Women and  Software" type="text/html"/>
+<id>tag:blogger.com,1999:blog-16574998.post-112678926766621684</id>
+<title mode="escaped" type="text/html">Women and  Software</title>
+<content type="application/xhtml+xml" xml:base="http://ajith-ranabahu.blogspot.com" xml:space="preserve">
+<div xmlns="http://www.w3.org/1999/xhtml">FOSS is over and I'm back in the office working in Axis2. Chinthaka has uploded some pictures of the FOSSSL events so all the die hard picture fans can have a peek at <a href="http://chinthakae.blogspot.com/">his blog</a>.<br/>
+<br/>Ahum... About the gender issue that I promised my readers I'll be commenting on. Well<a href="http://www.bloglines.com/blog/Ajith?id=9"> I blogged some time back about this gender thing</a>. In short my broad view on gender is that men and women are somewhat 'hard wired' that makes them good in certain things and bad on certain other things. (Read the <a href="http://www.amazon.com/exec/obidos/tg/detail/-/0767907639/002-6425957-5880034?v=glance">pease book</a> if you haven't already) Standing on this psychological base, let me show you what I think about 'women in software development'.<br/>First of all I don't see a particular barrier for women to enter the IT field(or at least the field of software development. As long as you know how to write good code nothing else really matters! ). Especially the Apache way of development (remote code bases,communication over mailing lists, nobody sees them face to face, etc) is ideal for women to get involved. Who wants to know wh
 ether a certain 'jean' who've submitted good patches is a girl or a boy? Yet there are critics who say field of software development is dominated by men!<br/>If you think of the field of software engineering (or for the field of engineering as a whole) the female presence is much low. I can rememeber that while we were back in the University there were only 8 girls doing computer science and engineering as opposed to 40 guys. it was far worse in mechanical engineering where there was only one girl! Now I'm pretty sure this is no coincidence or any result of the mistreatment of gender. It is how things are! I mean only few girls do mathematics for higher studies in schools and as a result, only a few go into the university to study engineering. The <span style="font-weight: bold;">pease explanation</span> ( :) ) for this that male brains are hard wired to do better math and as a result <span style="font-weight: bold; font-style: italic;">generally</span> more males get into m
 ath oriented stuff than girls. This also explains the higher enrollment rates of women in arts and aesthetic study courses since women are much better in communicators and artists. It also explains that many of the famales doing SE are actually not code crunchers but technical writers.<br/>What I'm trying get into is that the community of software engineers don't pose any barriers on "geeky women" (I don't know whether there's a female version of 'geek'. perhaps 'geekess' or something :)) ). It's just that most women are not really interested in sitting infront of a computer and geeking.<br/>As far as the open source effort of attracting more women, I'm not sure whether it'll be effective. My view is that there will always be a strong male presence in the world of computers, mostly because they love to geek!<br/>Oh BTW, most of the ladies I knew back in the university doing computer science were excellent code crunchers. It is perfectly possible to have exceptions :)</div>
+</content>
+<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
+</entry>
+<entry xmlns="http://purl.org/atom/ns#">
+<link href="https://www.blogger.com/atom/16574998/112649798132529709" rel="service.edit" title="FOSS" type="application/atom+xml"/>
+<author>
+<name>Aj</name>
+</author>
+<issued>2005-09-12T09:57:00+06:00</issued>
+<modified>2005-10-07T06:29:17Z</modified>
+<created>2005-09-12T04:06:21Z</created>
+<link href="http://ajith-ranabahu.blogspot.com/2005/09/foss.html" rel="alternate" title="FOSS" type="text/html"/>
+<id>tag:blogger.com,1999:blog-16574998.post-112649798132529709</id>
+<title mode="escaped" type="text/html">FOSS</title>
+<content type="application/xhtml+xml" xml:base="http://ajith-ranabahu.blogspot.com" xml:space="preserve">
+<div xmlns="http://www.w3.org/1999/xhtml">The <a href="http://www.fosssl.org/">FOSSSL</a> has been glorious and oh yeah, the tutorials and the talks have been fun and really informative. It's like a dream to see all these guys we just heard about, <a href="http://people.redhat.com/%7Etiemann/">Michael Tiemann</a> (creator of G++ and extraordinary compiler writer) , <a href="http://lerdorf.com/bio.php">Rasmus Lerdorf</a> (creator of PHP) ,<a href="http://www.lyra.org/greg/">Greg Stein</a> (chairman of Apache Software Foundation) and so on.<br/>For the people who are not so familiar with the theme of FOSS, here is a little intro.<br/>FOSS stands for Free and Open source software. Note that 'free' in the statement should be interpreted as free in Freedom rather than free in free beer. Freedom really applies to the use, where the user of the software has the freedom to do whatever he wished with it.Sri lanka has taken a great step to promote free and open source software by decl
 aring a week for it (Which we named FOSSSL).BTW <a href="http://slashdot.org/article.pl?sid=05/08/28/1553234">this event was slash dotted</a> and caused a lot of havoc. One reason was that some people didn't get what it was meant for. Sadly there were harsh comments arising from the true ignorance of the geographical facts about Sri Lanka. I wonder how this could have possibly happend, since there are hundred odd sources in the web itself and if someone bothered to google for it for five minutes, they'd have got the picture.Ugh.. What to do!! At least the leaders in FOSS has the correct picture.<br/>Ok enough about the worlds ignorance. let's focus on the FOSSSL again. I've been in for four tutorials and the main conference (there were some other related events such as a codefest, A conference for CEO's and so on) and I feel it's a great event. There were two discussions at the end of each day which in my reckoning brought out the most important non technical facts.Guess I s
 hould write it down with my opinion for the benefit of the others.<br/>The second conference day ended with a discussion 'Developing countries - Should they be consumers or producers of FOSS'. The panel that discussed this consisted of the invited speakers, Namely Danese Cooper (Intel), Bruce Momjian (postgresSQL), Sam Ruby (IBM?), Rasmus Lerdorf (Yahoo), David Axmark (MySQL), Greg Stein (Google) and <strong class="clsHeading1">Martin Michlmayr </strong> (former debian project lead). Here's a digest of the discussion.<br/>
+<br/>1. The nature/attitude of the person is very important. The mentality of 'tinkering' needs to be there (a totally selfish mentality would not promote open source at all :))<br/>2. The required hardware seems(?) to be there (at least for us. When asked who have computers at home, almost all hands went up!). However as Danese stated, Only a very small percentage of the Indian IT work force has a home computer and that seems may well be a reason why only a few Indians participate in open source development. (After all, you find very few people who get paid for developing Open source software like me!)<br/>
+<br/>As solutions to these two major problems, here are the solutions that were mentioned.<br/>1. Target the schools/Universities. Change the mentality of the learning generation so that they understand what is free software and learn to appreciate it.<br/>2. Do some advertising. Improve public awareness. This should get the mentality of the public in the right direction which should increase the investments on computer hardware (increasing the number of home computers). BTW as one slash dotter commented, Sri Lanka just passed the $1000 income limit and the investment on a computer is roughly the 50% of it.<br/>
+<br/>There were some issues about the culture and I'm with Rasmus on it. When the culture issue popped up, Rasmus just said "Well I'm born in Greenland and the culture that you get there is pretty much ice". Culture has only a very little fraction to play in this game.<br/>There were some issues raised about the female contribution and quite a bit of conversation arond it. I've my own opinion on that and would be writing a seperate blog in it.<br/>
+<br/>So as it stands, we have to have some long running projects to promote FOSS here. Yep, a week on FOSS is a cool idea and definitley a good starting point. But things should move on from here.</div>
+</content>
+<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
+</entry>
+<entry xmlns="http://purl.org/atom/ns#">
+<link href="https://www.blogger.com/atom/16574998/112634677570614836" rel="service.edit" title="Right now I'm in the Google tutorial done by Greg ..." type="application/atom+xml"/>
+<author>
+<name>Aj</name>
+</author>
+<issued>2005-09-10T15:04:00+06:00</issued>
+<modified>2005-09-10T10:06:15Z</modified>
+<created>2005-09-10T10:06:15Z</created>
+<link href="http://ajith-ranabahu.blogspot.com/2005/09/right-now-im-in-google-tutorial-done.html" rel="alternate" title="Right now I'm in the Google tutorial done by Greg ..." type="text/html"/>
+<id>tag:blogger.com,1999:blog-16574998.post-112634677570614836</id>
+<title mode="escaped" type="text/html">Right now I'm in the Google tutorial done by Greg ...</title>
+<content type="application/xhtml+xml" xml:base="http://ajith-ranabahu.blogspot.com" xml:space="preserve">
+<div xmlns="http://www.w3.org/1999/xhtml">Right now I'm in the Google tutorial done by <a href="http://www.lyra.org/greg/">Greg Stein</a> and Wow! It's way too cool to say in words! Greg is doing a great job here and I'm totally amazed at how thoughtful and creative the Google people has been.<br/>Since this is my second blog (my other blog is in bloglines) I'll be linking the blogs (This linked to the bloglines one) and doing my blogging here. No offense to the bloglines people but blogger has this neat feature of comments.<br/>Will be doing some more blogging soon. Await some cool photoes :)</div>
+</content>
+<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
+</entry>
+</feed>

Added: webservices/admin/planet/cache/ajith.ranabahu.blogspot.com.atom.xml,etag
URL: http://svn.apache.org/viewcvs/webservices/admin/planet/cache/ajith.ranabahu.blogspot.com.atom.xml%2Cetag?rev=355462&view=auto
==============================================================================
--- webservices/admin/planet/cache/ajith.ranabahu.blogspot.com.atom.xml,etag (added)
+++ webservices/admin/planet/cache/ajith.ranabahu.blogspot.com.atom.xml,etag Fri Dec  9 04:21:26 2005
@@ -0,0 +1 @@
+"2e3ca1f-57b9-435e297b"

Added: webservices/admin/planet/cache/ajith.ranabahu.blogspot.com.atom.xml,modified
URL: http://svn.apache.org/viewcvs/webservices/admin/planet/cache/ajith.ranabahu.blogspot.com.atom.xml%2Cmodified?rev=355462&view=auto
==============================================================================
--- webservices/admin/planet/cache/ajith.ranabahu.blogspot.com.atom.xml,modified (added)
+++ webservices/admin/planet/cache/ajith.ranabahu.blogspot.com.atom.xml,modified Fri Dec  9 04:21:26 2005
@@ -0,0 +1 @@
+Tue, 25 Oct 2005 12:47:55 GMT

Added: webservices/admin/planet/cache/bloglines.com.blog.chamikara.rss
URL: http://svn.apache.org/viewcvs/webservices/admin/planet/cache/bloglines.com.blog.chamikara.rss?rev=355462&view=auto
==============================================================================
--- webservices/admin/planet/cache/bloglines.com.blog.chamikara.rss (added)
+++ webservices/admin/planet/cache/bloglines.com.blog.chamikara.rss Fri Dec  9 04:21:26 2005
@@ -0,0 +1,97 @@
+<?xml version="1.0"?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<rss version="2.0">
+  <channel>
+    <title>Chamikara's blog</title>
+    <link>http://www.bloglines.com/blog/chamikara</link>
+    <description>Hi. Welcome to my blog. 
+</description>
+    <language>en-us</language>
+    <webMaster>support@bloglines.com</webMaster>
+
+
+    <item>
+        <title>WSO2</title>
+	<description>As u know WSO2 means &quot;Oxygenating The Web Service Platform&quot;. But did u
+know that there are couple of other meanings to this. Here are some of
+them.&lt;br&gt;
+&lt;br&gt;
+1. Due to a side affect of WSO2 the WEB get polluted with SO2.&lt;br&gt;
+&lt;br&gt;
+2. The first two letters of WSO2, is misteriously equal to the first
+letters of the&amp;nbsp;&amp;nbsp;&amp;nbsp; CEOs name taken is
+reverse&amp;nbsp;&amp;nbsp;&amp;nbsp; :D&lt;br&gt;
+&lt;br&gt;
+&lt;br&gt;
+&lt;br&gt;
+&lt;br&gt;
+
+
+</description>
+        <pubDate>Fri, 7 Oct 2005 08:03:34 GMT</pubDate>
+	<guid>http://www.bloglines.com/blog/chamikara?id=3</guid>
+	<link>http://www.bloglines.com/blog/chamikara?id=3</link>
+    </item>
+
+    <item>
+        <title></title>
+	<description>Back to the blog after a long time. :D&lt;br&gt;
+&lt;br&gt;
+Sandesha 2.0 is getting the shape really nicely. We have almost
+completed the Server part (didn't try any interops yet). But a couple
+of features from Axis2 to finish this. One is the ability to clone SOAP
+envelopes. Without this the headers (added by handlers after RM) seem
+to be getting repeated in every retransmission.&lt;br&gt;
+&lt;br&gt;
+Sandesha 2.0 tries to provide true reliability using persistance
+mechanisms. But it seems that the configuration context, which is
+needed in a module init is not available in the module() init method.
+Need to get this fixed as well.&lt;br&gt;
+&lt;br&gt;
+We are having a great time with Dims and Paul here. Had a nice Indian
+dinner day before yesterday. Dims orderd some items we had never heard
+of including Panir, Batur, Batar nana (sorry if i mispelled
+:(&amp;nbsp;&amp;nbsp;&amp;nbsp; ).&amp;nbsp; They were really nice. &lt;br&gt;
+
+
+</description>
+        <pubDate>Wed, 5 Oct 2005 08:01:42 GMT</pubDate>
+	<guid>http://www.bloglines.com/blog/chamikara?id=2</guid>
+	<link>http://www.bloglines.com/blog/chamikara?id=2</link>
+    </item>
+
+    <item>
+        <title></title>
+	<description>Nothing much for the first day :-)
+
+</description>
+        <pubDate>Mon, 27 Jun 2005 23:10:02 GMT</pubDate>
+	<guid>http://www.bloglines.com/blog/chamikara?id=1</guid>
+	<link>http://www.bloglines.com/blog/chamikara?id=1</link>
+    </item>
+
+
+    </channel>
+</rss>
+
+
+