"tyranny of email"

I was skimming jkOnTheRun [1] and he linked to an article called The Tyranny of Email. The article isn't very exciting, but there were a couple points that caught my eye because they're crappy things that I keep doing but shouldn't be. For example:

"First, never, ever, criticize someone in email. For reasons which I have never fully grasped, any negative emotion is always amplified by communication through email. Sometimes you intend to be critical - someone has done something foolish, or said something silly, or emailed something ridiculous. Resist the urge to reply. Sometimes you don't mean to be critical - you're just making an observation, or engaging in technical debate, or adding facts to a discussion. But as soon as you sense that the recipient has taken your email as criticism, you must immediately switch media - a face-to-face meeting is best, but a 'phone call is also okay."

Also this one (less so):

"Second, don't get into prolonged technical debates in email."

Usually, the "technical debates" I get into over email are less "technical" and more hyperbole. All hyperbole is bad! [2]

My PyBlosxom setup (5/15/2005)

I figured I'd take some time to share my PyBlosxom setup. As of this writing, I'm running PyBlosxom under Python 2.3.4 on Debian with Apache 1.3.33. I'm running PyBlosxom 1.2 (with some minor adjustments). I have the following plugins:

  • booklist - displays a list of books that I'm reading

  • comments

  • wbgcomment_blacklist - rejects comments that have certain blacklisted terms in them (which has the minor nuissance that no one can talk about Texas Hold'em on here)

  • conditionalhttp - returns a 304 if the content hasn't been modified

  • filter - filters out CVS and other directories from my blog

  • gecko - tells people to use Firefox at the top if they aren't already doing so

  • plugininfo - lists the plugins that I'm using

  • pycategories - lists the categories in a hierarchy

  • pyfilenamemtime - allows me to set the mtime of the blog entry in the file name

  • pyinclude - allows me to include files with python scriptlets in the head and foot templates

  • pystaticfile - (poorly named) allows "static" content on my site but renders it in the existing template structure

  • readmore - allows me to break up my entries into a summary and extended section (I don't think I ever use this)

  • rss2renderer - builds the RSS 2.0 feed

  • tipsparser - parses tips files

  • title - urlencodes the title of a blog entry and tosses it in $urlencodedtitle (which is better for Google Links)

  • wbgamazon - builds Amazon links

  • wbgarchives - builds archive pages for entire years

  • wbgdebug - allows me to look at the debug output of my blog by tossing debug=yes in the querystring

  • wbggrep - my incredibly hacked "search" engine

  • wbgpager - builds paging navigation when there are more entries to display than I want to display at one time

  • wbgrecent - summarizes recent activity on my blog

I write most of my entries using vi or emacs and for the most part I write them in HTML.

There was a time where I wrote blog entries on whatever was in my head to build content and thus test PyBlosxom. Recently, I've been doing development summaries and writing about life changes. I think a good portion of my blog entries talk about how I don't have much free time.

I have no idea who my audience is or what they look for here.

pyblosxom manual, pyblosxom 1.2.1, and contrib 1.2.2

The last couple of weeks have been really chaotic. S went off to New Jersey for the weekend, so I've had a few days to work through the things in the bottomless queue of things to do. I've been making a lot of progress, but the queue is still daunting.

There were a few bugs found in the contributed plugins pack 1.2.1, so I'm going through, fixing the ones mentioned on the mailing lists and fixing some additional issues as well. I think I'll be done with the things by Monday.

In tracking down problems with conditionalhttp, I found a bug in the PyBlosxom blosxom renderer. I think it only affects conditionalhttp, but it does so in a way that makes conditionalhttp totally useless. If conditionalhttp looks at the If-Modified stuff and decides that the content has not been modified, it issues an HTTP 304... but then the renderer goes and renders all the content and sends it down the stream just as it would with an HTTP 200. Needless to say, this doesn't do much to curb bandwidth usage.

I'm hoping to fix the problem where we fetch and filestat all the blog entries multiple times in a given PyBlosxom request. It won't be the amazingly elegant fix I was hoping to do a couple of months ago--but that requires a whole lot more work and rewriting a bunch of things in a non-backwards-compatible way and thus disrupting plugins and such.

That brings me to the PyBlosxom manual work I'm doing. The manual is already 46 pages long (that include the GDFL text). I haven't covered developer topics yet--mostly I've spent my time writing and re-writing content dealing with installation, setup, configuration, flavours, plugins, static rendering, and writing entries. I'm still getting my feet wet with docbook, so that's causing it to take longer.

Manuals take a stupendous amount of time to write.

Incidentally, if you've even looked at the manual, let me know. I have no way of knowing whether I'm doing a lot of work for nothing. I'm also very interested with problems people have, portions that are vague, and any other comments. Additionally, if you want to help out, let me know.

Boston PIG 5-12-2005

I finally attended the Boston Python Meetup monthly meeting. Nate did a presentation on ArchGenXML for building archetypes in Plone. I have no Plone/ZOPE experience, though I do know what they are and I've followed the projects for a bit. The presentation was really interesting and definitely broke the Plone/ZOPE ice for me.

Updates:

The Boston Python Interest Group (Boston-PIG) no longer uses Meetup. The web-site for the group is now at http://wiki.python.org/moin/BostonPig.

contributed plugins pack 1.2.1 for PyBlosxom 1.2

This is the second release of the contributed plugins pack for PyBlosxom 1.2. In terms of functionality, there were a bunch of fixes to the comments and trackbacks components and I overhauled pycategories. Beyond that, there were a lot of license changes (or in most cases license applications) and some documentation changes. In general, this release is a huge milestone for sorting out the big mess that was the contributed plugins.

Bravo to Wari, Ted, Steven, Blake, Bill, and everyone else that was involved in pulling this together.

If you find problems with contributed plugins, visit this page on how to contact us "Problems" could be bugs, feature-requests, or setup issues.

Find the contributed plugin pack at contrib.1.2.1.tar.gz.

Release Forge

I've been doing SourceForge releases for years and it's kind of a pain in the ass and I've always dreaded the two or three hours it takes to get all the pieces in line and do a release.

Steven Armstrong mentioned using ReleaseForget which makes half of that process so much easier to deal with. Recommended!

Me and PyBlosxom

I plain ran out of time and energy to work on PyBlosxom, so I stepped down as maintainer. I'll stay on the project as an occasional developer.

I went through my plugins and discovered wbgpager had a bug in it that prevented it from working with PyBlosxom 1.2. So I fixed it and released wbgpager 1.2. You can find it here with all the other plugins I've done. I also made some fixes to some of the other plugins. So if you're using anything I wrote, you might want to check to see if there are new versions.

48 hour film project (2005)

My brother is the producer this year for the Boston 48 hour film project again. So I showed up to help out on the kick-off on Friday night and again for the drop-off on Sunday night. All very exciting.

Last year there were some 48 teams. This year there were 62 or 63 so the place was packed. As I was helping out, I recognized a lot of people who did it last year--that's pretty cool. I even remembered some names here and there.

There are going to be 5 screenings this year. We learned a lot about ushering last year and I hope to employ ISO 9001 compliant policies (ha!), standards, and things of that nature to this year's ushering. It's going to be a busy couple of weeks!

http://www.48hourfilm.com/boston-2005.htm

Status 04/05/2005

It's shaping up to be a long, but productive week.

PyBlosxom

We're working through the problems a bunch of problems with the contributed plugins that have been sitting around for some time. This includes assigning licenses to all the plugins, adding version/author information, making sure they have some modicum of documentation, and at some point (hopefully) testing them all out in PyBlosxom 1.2. Hopefully this will put the contributed plugin pack in a much better state of being.

Steven, Bill, Wari, and Doug decided that it was high time we started using various features of CVS to make development better. I've had some growing pains with this and kind of wished people had figured things out and written up a process before making the changes. Even though I'm grumbling about the way it's happened, it is a good thing it is happening and it will make it a lot easier to do some of the things we've been doing for a while now. It'll also help a huge amount now that we've got more than one or two active developers.

I have a lot of plans for the PyBlosxom manual, but haven't had time to execute on any of them yet. The wiki we were storing documentation in was taken down since the jackass ISP that Wari had got all befuddled and confused and terminated his account with them. The problem here is that I had documentation in the wiki I hadn't had time to port to the manual yet. Fortunately, Wari sent me the contents of the wiki. I had documentation in there that I hadn't had time to port to the manual yet.

I'm 90% sure I know how to restructure what we've got right now to allow for Bill's index caching and also other storage systems. Depending on how things go with everyone else's PyBlosxom projects, I'll prototype this, write up a specification, send it round, and then implement the resulting modifications all before the next version of PyBlosxom.

Since Ted's PyBlosxom presentation at PyCon 2005, we've had 10-20x as much PyBlosxom development activity. That's been really exciting but also really daunting. Definitely a lot of growing pains mostly between my style of running things and peoples' vision for how things should be run.

Steven is still working on fixing the PyBlosxom registry to be a bit more user-friendly. We're short on flavour templates and some people really dislike this so I want to spend a week building new flavours at some point in the near future. Maybe I'll toss all the flavours in the contributed plugin pack to replace the existing flavour examples that come with it (I highly doubt anyone uses any of them).

Getting there....

grad school

I was accepted into the masters program at Northeastern University CCS. Starting in September, I'll be a full time grad student. My advisor is Mitch Wand (which is very exciting) and I was awarded a Dean's List Scholarship which reduces the costs assuming I maintain a 3.0 GPA and miscellaneous other things in fine print. All very exciting.

Need to learn Lisp, review all the stuff I learned in college, and attempt to get ahead of the game by covering as many of the things I'm going to be learning as possible.

DarkRifts

I've adjusted the way I'm working on DarkRifts such that I'm limiting myself to one coding goal every week. This will reduce the amount of stuff I'm doing there, but more importantly, it makes it easier to schedule things and gives me time to work on all the other non-DarkRifts stuff out there.

My book(s)

I'm in the process of looking at Lulu to do some self-publishing. S and I wrote a children's book last year which might be a good candidate for Lulu. The problem being that we'd need to redo the layout.

On top of that, I'm novel-izing the D&D campaign that I've been in for a year and a half. That's been going really well so far. I'm done the first couple of chapters. If anyone else plans to do something like this, it helps to take really good session notes and maintain a public set of summaries that other people in the campaign can fix.

On top of that, S and I have some ideas on the next children's book, but we still need to sit down and flesh them out a bit.

Other

Work has been super busy the last couple of weeks on top of everything else.

And I started running again and I finally got around to cutting my hair, too.

PyBlosxom 1.2 released

Seems like it's ok so far. So I released it rather than continuing to sit on it. I've done a lot of work on the manual to cover the areas that were covered poorly or not covered at all. There's still a lot of material to cover, but we're definitely making measurable progress in that direction.

Steven Armstrong did a lot of work to get mod_python, WSGI, and Twisted supported. I'm not sure why anyone would use WSGI or Twisted, though, since they don't appear to make much difference in how fast PyBlosxom works. mod_python definitely helps, though. Steven has some runtime statistics at http://thread.gmane.org/gmane.comp.web.pyblosxom.devel/1397.

This feels like a good release. We met some goals, we didn't sit on it forever, the documentation is an order of magnitude better than it was for the previous version (though it has a long way to go, still), and we fixed a bunch of bugs.

Having said that, it's definitely not necessary for people to upgrade. I think if your blog works and you don't need to futz with it to get additional functionality, leave well enough alone.