Ted Leung on the air
Ted Leung on the air: Open Source, Java, Python, and ...
Fri, 25 Mar 2005
Hello from PyCon

Greetings from my session at PyCon 2005!

This is a demonstration of the Metaweblog API plugin for PyBlosxom

[11:37] | [computers/internet/weblogs/pyblosxom] | # | TB | F | G | 0 Comments | Other blogs commenting on this post
Sun, 13 Mar 2005
New version of PyBlosxom comments plugin

I've just updated the comments plugin for PyBlosxom with changes for the upcoming PyBlosxom 1.2. If you are working off the CVS HEAD version of PyBlosxom, you can get the new versions here (or via CVS).

[14:11] | [computers/internet/weblogs/pyblosxom] | # | TB | F | G | 1 Comments | Other blogs commenting on this post
Wed, 19 Jan 2005
nofollow for pyblosxom comments

I've implemented the Google nofollow scheme for my pyblosxom comments plugin.

This is a drop in replacement for the existing plugin and will add the nofollow attribute to all <a> tags in the description of the comment. If your comment template (usually comment.html) includes a link supplied by the comment poster then you should add a rel="nofollow" attribute to your template

[10:11] | [computers/internet/weblogs/pyblosxom] | # | TB | F | G | 0 Comments | Other blogs commenting on this post
Fri, 10 Dec 2004
Pyblosxom comment previews (and more)

In Pyblosxom 1.1 (coming soon), we've decided to unbundle plugins from the distribution. I've been merging a bunch of changes that people have made to the comments plugin. The new plugin is available here.

If you are already using the comments plugin, there is a significant change to the behavior. You will need to modify your comments-story.html template to have just the content that should appear between the end of story.html and comment.html. This will typically be a <div class="blosxomComments"> tag. If you see the body of your entry twice, you didn't modify the comments-story template.

Here's a list of the changes:

  • Comment previews [ Bill Mill ]
  • Users can configure the plugin to force all new comments into a "draft" mode where they have to be manually "published". Set py['comment_draft_ext'] to a filename extension. New comments are given this extension and must be renamed to have the regular comment_ext in order to published
  • Add a comment rejection callback allowing people to write their own comment rejection plugins. [ Will Guaraldi ]
  • Add $message variable so that users can see what happened to their comment: whether it was rejected, whether it was successful, whether it's in draft mode, ... [ Will Guaraldi ]
  • Stop stomping templates [ Will Guaraldi ]
  • Rich HTML mail notifications [ Roberto De Almeida ]
If there are more changes to the comments plugin lurking out there, please contact me. I'd like to merge more changes so that we can improve comments as much as possible.
[00:14] | [computers/internet/weblogs/pyblosxom] | # | TB | F | G | 1 Comments | Other blogs commenting on this post
Tue, 07 Dec 2004
Back to pyblosxom

I spent a bunch of time over the last few days trying to see if I could coax better performance out of my blog. Some of you have probably noticed (or complained) that the blog is pretty slow. This is mostly due to the fact that I'm dynamically rendering the blog for almost 1200 entries. Here are the things that I've done so far:

  1. Move the comments directory out of the datadir -- this reduced the number of files that needed to be stat'ed by about 1400
  2. Turn on entry caching (my testing shows that entryshelve is faster than entrypickle. YMMV
  3. Implement a simple cache for tools.walk_internal that removes the redundant datadir scans caused by pycategories, pyarchives, and pycalendar

Also, somehow Planet Pyblosxom didn't make it into NetNewswire (fixed) so I wasn't seeing some of the pyblosxom related discussions that have been going on outside of the developer's mailing list. Will has been holding down the fort, but newcomers Bill, and Rob have some good ideas. I've been seriously contemplating switch my blog to WordPress due to the performance issues, but since things have improved a lot with only a small amount of effort, I think I'm going to spend some more energy trying to get pyblosxom to go faster. WordPress 1.3 doesn't look like it's showing up soon, and I'm not desperate enough to learn PHP so I can help/extend WordPress.

[23:33] | [computers/internet/weblogs/pyblosxom] | # | TB | F | G | 6 Comments | Other blogs commenting on this post
Sat, 29 May 2004
blog updates
I'm a bit late to doing this, but I've added a button () for each post on the blog that will give access to the Technorati cosmos for that post.

If you're a pyblosxom user, here's the code that you need to put somewhere in your story.html (the big thing is the use of %23 instead of # in the permalink):

<a href="http://www.technorati.com/cosmos/search.html?rank=?mtcosmos&url=$base_url/$yr/$mo_num/$da%23$fn" title="Technorati Cosmos">
<img src="/blog/images/bubble.gif" alt="Other blogs commenting on this post" />
</a>

I've also added my del.icio.us bookmarks to the sidebar...

[23:01] | [computers/internet/weblogs/pyblosxom] | # | TB | F | G | 0 Comments | Other blogs commenting on this post
Mon, 24 May 2004
pyblosxom 1.0
pyblosxom 1.0 is now out. Thanks to Will for doing the heavy lifting for this one.
[22:58] | [computers/internet/weblogs/pyblosxom] | # | TB | F | G | 0 Comments | Other blogs commenting on this post
Wed, 17 Mar 2004
Pyblosxom 0.9
After several months of hard work by all the developers and members of the community, we've released the next version of Pyblosxom.

0.9 has the following changes in it:

  • Added a logger and locking code
  • Overhauled the xmlrpc system
  • Added the verify_installation code
  • Added handle callback
  • Added Atom 0.3 flavour
  • Overhaul of code base to fix concurrancy issues
  • Added support for Metaweblog API
  • Bug fixes, security fixes, and optimizations
It's highly encouraged that all people upgrade since plugins written for 0.9 will not work in previous versions of Pyblosxom.

If you have any problems, let us know on the pyblosxom-users list.

PyBlosxom main site

[18:02] | [computers/internet/weblogs/pyblosxom] | # | TB | F | G | 2 Comments | Other blogs commenting on this post
Mon, 01 Mar 2004
pyblosxom metaweblog
I've put up a new version of the xmlrpc plugin for the metaweblog API. The file has changed names, and a number of improvements have been made. Thanks to Michele Campeotto who is responsible for some of the changes

This version relies on the pyblosxom CVS HEAD, so you might have some work to do to get everything working.

[23:49] | [computers/internet/weblogs/pyblosxom] | # | TB | F | G | 0 Comments | Other blogs commenting on this post
Sat, 21 Feb 2004
pyblosxom comment spam fix
If you are using the pyblosxom comments plugin, you should update to the latest version from CVS (or you can download it from my home page. There's a new comment spam program running around that tries to exploit weaknesses in comment systems and use it to send e-mail on its behalf.

In the case of pyblosxom, the attack works if you have SMTP notification of comments turned on. If you have comment notification turned on, the attacking program injects the commands for a complete SMTP transaction into the fields for the comment form. The way that Python's smtplib works is to jam text into the SMTP connection. So if the body of the comment happens to look like this:

blasterattacko@aol.com
To: blasterattacko@aol.com
From: blasterattacko@aol.com
Subject: PyC(5D9A983C,url)dlq9F

UeFb8RE4XhzEn6 9dwVwadJWbqLXc2EjtIcmkc9Q7f1aeAnNqR

.
the entire thing gets sent to the SMTP connection as the body of the e-mail.

The updated plugin wraps To: From: and Subject: in the comment body in html tags, so a comment that has that data in it will still display, but will be illegal as SMTP commands.

[22:38] | [computers/internet/weblogs/pyblosxom] | # | TB | F | G | 0 Comments | Other blogs commenting on this post
pyblosxom metaweblog, round 2
There's been a nice bit of activity in pyblosxom lately. We're cleaning up a bunch of stuff and getting ready to do a 0.9 release.

I've updated the metaweblog plugin to accomodate all the new changes in 0.9, and I've put a new copy up on my home page.

[22:15] | [computers/internet/weblogs/pyblosxom] | # | TB | F | G | 0 Comments | Other blogs commenting on this post
Fri, 16 Jan 2004
Ecto pyblosxom
I'm pleased to announce alpha support for Ecto in pyblosxom. which is available from my home page.

At the moment there is support for retreiving posts, editing them and creating new posts. Labelling posts with categories is supported. Changing posts and deleting posts is not.

This support involves modifications to the blogger XML-RPC plugin as well as a new metaweblog plugin. In addition, these pluging rely on changes to pyblosxom.py which are not yet in CVS. All the necessary files are available from the home page.

This posting was made (and edited) using these plugins.

Thanks to Adriaan Tijsseling, the author of Ecto, for helping me to debug this.

I also plan to do support for NetNewsWire's weblog editor -- Brent and I are working on some issues there.

One final note. This support is for my own use mostly, but I thought that people out there might find it useful. I'm very happy to receive patches that make this work with blogging tool X. Beyond support for Ecto and NetNewsWire, I'm not promising support for any other blogging tools.

[23:12] | [computers/internet/weblogs/pyblosxom] | # | TB | F | G | 0 Comments | Other blogs commenting on this post
Sat, 10 Jan 2004
Hmm, it's harder than it looks
I was able to get started on coding MetaWeblog for pyblosxom last night. I got the XML-RPC skeleton code up and running and can retrieve the last N posts. The blogger API code for pyblosxom uses the blosxom directory name as the blog id, so it only searchs the directory named by the blog id. That seems wrong to me, because that's not really "the last N posts" it's the last N posts in that directory (category).

I also realized, after my excitement about Ecto, that I already have access to a nice weblog editor tool, the weblog editor built into NetNewsWire, so I started my testing using that. NNW has support for a number of different blogging systems and API's. Most systems that NNW supports are using the Blogger API, and MovableType uses both the Blogger API and the MetaWeblog API. In the array of structs that metaWeblog.getRecentPosts returns, I included information about the category of the post. Unfortuanately NNW doesn't make that information available. I started experimenting with the NNW commands and observing which MetaWeblog API calls were getting made. When NNW opens up, it never issues a metaWeblog.getCategories call. So it doesn't know what the categories are. If you do refresh it does a metaWeblog.getRecentPosts - but no call to get the categories. The retrieved posts are shown categoryless even if that information is in the return results.

One of the big reasons that I didn't use w.bloggar on Windows was that it couldn't deal with categories. NNW supposedly can do it, but you need the MovableType support. The biggest problem for somebody in my shoes, is that the metaWeblog (and Blogger) API's doen't say what the client is supposed to do about categories. If someone knows the correct sequence of metaWeblog API calls to retreive a set of posts which will have their categories displayed properly, that would be a big help.

In frustration, I looked at the Holy Grail, er, Atom API, but there's no description akin to the one that I want. So, just to be even handed, none of the specs have enough detail in them.

API documentation / specs has been both postively and negatively affected by tools like JavaDoc. These tools make it easy to document the individual methods of a class, but they don't help much with the "sequence diagram" problem, of documenting the right choreography of method invocations.

Looks like I'll be stuck with my little CGI for a while longer. I could use NNW's blosxom directory support but then I'd just be writing files in the file system. I could use SubEthaEdit's live HTML preview and my CGI -- the CGI can lace in categories, and does trackback, pingback, and notification pings. A good implementation of the Atom or MetaWeblog API's should be able to trigger such notifications as well.

[17:03] | [computers/internet/weblogs/pyblosxom] | # | TB | F | G | 6 Comments | Other blogs commenting on this post
Fri, 09 Jan 2004
Ecto is out
Like a whole bunch of other bloggers, I see that Ecto is available for public beta. This impacts me in a slightly different way. I've wanted an upgraded blogging UI -- mine is a hacked cgi page. NNW's built-in weblog editor got me itchy, but the Ecto features are pushing me over the edge. I'm going to try to site down and write a metaweblog plugin for pyblosxom, so that I can join in the fun. I was going to skip metaweblog and just go straight to Atom, but the Atom API isn't done enough to be ready. Besides the refactoring of pyblosxom internals will make lots of things easier when its time to do Atom.
[23:10] | [computers/internet/weblogs/pyblosxom] | # | TB | F | G | 0 Comments | Other blogs commenting on this post
Thu, 01 Jan 2004
pyblosxom updates
James Jones submitted a patch for lucene.py that makes the results header a little bit nicer. I've committed the change and updated my blog. Also, I'm now running search using Lucene 1.3. Those of you wondering about Lupy can keep on wondering, because lupy is quite a bit slower than Lucene.

One other reason to upgrade to Lucene 1.3 if you are on Mac OS X. There are some permission problems on Apple's JVM that are related to the java.io.tmpdir property . When I upgraded to Lucene 1.3 they went away. So much for write once, run anywhere...

[23:26] | [computers/internet/weblogs/pyblosxom] | # | TB | F | G | 0 Comments | Other blogs commenting on this post
Fri, 01 Aug 2003
Multiple categorization again
David Czarnecki proposes the same solution as Wari did for multiple categorization in a *blos*xom. I can see how this would work, but it seems ugly. Part of the the blosxom way is to use the filesystem hierarchy for categorization. So now the proposal is to have category information in two places, partially in the filesystem hierarchy and partion in the meta-data for the entry. I could live with this if we stopped using the filesystem for categorization and just looked at the meta-data, but then you're kind of not really a blosxom anymore.
[01:22] | [computers/internet/weblogs/pyblosxom] | # | TB | F | G | 4 Comments | Other blogs commenting on this post
pyblosxom 0.8rc1
Wari cut the code for pyblosxom 0.8rc1. It's looking really good. I hope to go back to doing serious work on pyblosxom in a month or so, and this release provides a great base to work from.
[00:49] | [computers/internet/weblogs/pyblosxom] | # | TB | F | G | 0 Comments | Other blogs commenting on this post
Sat, 19 Jul 2003
Hitting the categorization wall
I really like the simplicity of *blosxom based weblog systems, but there's one major drawback. Categories are assigned based on which directories an entry lives in. This means that you are limited to a single category. Even worse, if you use the category and filename/entry name as the permalink, you cannot move or recategorize entries. Since my weblog is part of my personal information space, this is a problem for me. Today I posted a bunch of stuff that really belongs in a "microcontent" category. I could make one and shove the new stuff in there, but that leaves a discontinuity with all the other stuff that I've posted that also seems to be about microcontent. The only problem with multiple categorization is that I can't figure out a nice way to do it that doesn't involve a database. And no, hard linking / symlinking the files doesn't count.
[12:01] | [computers/internet/weblogs/pyblosxom] | # | TB | F | G | 3 Comments | Other blogs commenting on this post
Sun, 06 Jul 2003
Tracking back
Jason reported that he's having trouble doing trackback to my blog. I've had trackbacks from a few folks, but I want to be sure that the pyblosxom trackback code is working. So I'm asking a favor. If you have a tool that does trackbacks, could you try to trackback to this post. If you get an error, can you let me know via e-mail so I can try to see what's happening?

Thanks!

[13:03] | [computers/internet/weblogs/pyblosxom] | # | TB | F | G | 5 Comments | Other blogs commenting on this post
Thu, 05 Jun 2003
Aggregator statistics now on the main blog page
For all the aggregator writers out there: I've updated the pyblosxom logstats plugin to keep track of hits to my RSS feed. The usage statistics appear in the right hand column of the HTML version of the blog. Be aware that the ETag handling in pyblosxom will only update the ETag if a new post or comment is entered, so you may need to do a full reload of the page to see the statistics. This functionality is experimental for now.
[00:01] | [computers/internet/weblogs/pyblosxom] | # | TB | F | G | 5 Comments | Other blogs commenting on this post


twl JPG

About

Ted Leung FOAF Explorer

I work at the Open Source Applications Foundation (OSAF).
The opinions expressed here are entirely my own, not those of my employer.

Creative Commons License
This work is licensed under a Creative Commons License.

Now available!
Professional XML Development with Apache Tools : Xerces, Xalan, FOP, Cocoon, Axis, Xindice
Technorati Profile
PGP Key Fingerprint
My del.icio.us Bookmarks
My Flickr Photos


Syndicate
RSS 2.0 xml GIF
Comments (RSS 2.0) xml GIF
Atom 0.3 feed
Feedburner'ed RSS feed

< March 2005 >
SuMoTuWeThFrSa
   1 2 3 4 5
6 7 8 9101112
13141516171819
20212223242526
2728293031  

Archives
2006
2005
2004
2003

Articles
Macintosh Tips and Tricks

Search
Lucene
Blogs nearby
geourl PNG

Categories
/ (1567)
  books/ (33)
  computers/ (62)
    hardware/ (15)
    internet/ (58)
      mail/ (11)
      microcontent/ (58)
      weblogs/ (174)
        pyblosxom/ (36)
      www/ (25)
    open_source/ (145)
      asf/ (53)
      osaf/ (32)
        chandler/ (35)
        cosmo/ (1)
    operating_systems/ (16)
      linux/ (9)
        debian/ (15)
        ubuntu/ (2)
      macosx/ (101)
        tips/ (25)
      windows_xp/ (4)
    programming/ (156)
      clr/ (1)
      dotnet/ (13)
      java/ (71)
        eclipse/ (22)
      lisp/ (34)
      python/ (86)
      smalltalk/ (4)
      xml/ (18)
    research/ (1)
    security/ (4)
    wireless/ (1)
  culture/ (10)
    film/ (8)
    music/ (6)
  education/ (13)
  family/ (17)
  gadgets/ (24)
  misc/ (47)
  people/ (18)
  photography/ (25)
    pictures/ (12)
  places/ (3)
    us/ (0)
      wa/ (2)
        bainbridge_island/ (17)
        seattle/ (13)
  skating/ (6)
  society/ (20)



[Valid RSS]

del.icio.us linkblog

www.flickr.com

Blogroll

java.blogs
Listed on BlogShares

Locations of visitors to this page
Where are visitors to this page?


pyblosxom GIF