PyBlosxom contributed plugins version 1.1

, | Tweet this

In lieu of other solutions, I'm going to start releasing contributed plugins plugin packs. This one should work with PyBlosxom 1.1.

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

If this works out, then I'll continue releasing contributed plugin packs that match up to PyBlosxom.

Find the contributed plugin pack here (contrib.1.1.tar.gz).

02/23/2005: Changed the url. Decided to do an actual "release" and store it on the PyBlosxom site.

changing the requirement to Python 2.2?

, | Tweet this

Steven's been doing development on PyBlosxom to allow for other frameworks than plain CGI. The architecture changes he's making solves some other issues as well. The problem we've bumped into is that one of the things he wants to do requires us to change the minimum Python version from 2.1 to 2.2.

Details here.

Bill noted that it's likely that PyBlosxom won't work in 2.1 as it is now anyhow. I'm not sure--I don't have Python 2.1 anymore.

So the question is would it be ok to change the minimum requirements. Some folks who cannot change the version of Python they have will have issues with this (obviously), but is it a good idea anyhow? Is the world at a place where it's common to require at least Python 2.2 a for projects?

Comments and templates in PyBlosxom

, | Tweet this

A while back, I adjusted the comments plugin locally so that it would allow me to have plugins that change the template type they use from "story" to other things. A couple of months ago, I sent Ted an email with which pieces go in which templates. Figured I'd stick that here in case someone is looking for it.

This is only for the "story" section. The head template goes before and the foot template goes after this example. This also only works with the latest version of the comments plugin that has the template stomping code removed.

<div class="news">           <- story.html
<h2>$title</h2>               |
<div class="content">         |
...                           |
</div>                        |
links                         |
</div>                       <-
<div class="comments">       <- comment-story.html
<div class="comment">        <- comment.html
Posted by $blah at $blah      |
$blah                         |
</div>                       <-
<div class="comment">        <- comment.html
Posted by $blah at $blah      |
$blah                         |
</div>                       <-
<div class="commentform">    <- comment-form.html
form stuff here.              |
</div>                        |
</div>                       <-

the New England Diet

, | Tweet this

I'm in the Boston area and it's snowing pretty hard out. They're saying all kinds of things like we should all just go back to bed for a few days and sleep through it.

I'm proposing a less defeatist idea. I vote we should all switch to the New England diet! Snow for breakfast, lunch and dinner! If we all band together we can pull through this, lose a few pounds, and clear our streets! Because freedom shouldn't be allowed to get snowed in!

But the New England Diet isn't going to stop there, no sir! I'm going to write a book and start a company to produce New England Diet meals and we'll ship them around the world and I'll make a million dollars.

PyBlosxom status 1-12-2004

, | Tweet this

I finally got around to releasing PyBlosxom 1.1. The big change is that I'm only planning to work on and maintain the core--I'm hoping someone will come along and pick up maintenance for all the contributed plugins. I haven't figured out what the contingency plan will be. I might maintain that too, but whine about it very loudly until someone gets tired of me whining. I'm also slowly getting through working on the documentation. I noticed that the wiki that I'm basing a portion of my documentation on disappears every now and then. So... I'm thinking that's a good sign that I should finish up quickly.

George called me up and offered to take Planet PyBlosxom off my hands. I want to pass off all the little things to other people in the PyBlosxom community so that:

  1. I have more time to focus on PyBlosxom core
  2. Other people are involved in the community--more people -> more ideas -> better community
  3. Minimize the significance of me in the PyBlosxom world

In the meantime, I'm working on finishing reading Dive Into Python. It's one of those books I wished I had read years ago. I got a hard-copy from my parents for Christmas. I've put a halt on coding until I'm done.

Update January 11, 2016: Updated the dive into python link.

the year so far

, | Tweet this

It's sobering to think that this time last year I was dealing with a car that had no headlights because they were stolen. It's really funky to have a car with no headlights. In the winter, it limits the time you have to drive around to like 9 or 10 hours.

I've decided to participate in new year's resolutions this year. Some folks think it's silly to do new year's resolutions since you should follow through on your resolve throughout the year rather than use the new year as an excuse to change your life. I'm in the "whatever works works" boat. My resolutions this year are to floss more and to fix my problems with organizing the things I say I'm going to do around my schedule so that I actually get things done.

The first is easy--I should just floss more. The second is like the hiccups--everyone has their own best super duper way of how to do it and wants to tell you all about it in excrutiating detail.

RSS Problems

, | Tweet this

I was checking my apache logs and noticed there are dozens of feed readers pulling my RSS data. They're not pulling index.xml--which is the RSS 2.0 nicely-rendered data, but rather the RSS 0.9.1 flavour that comes by default with PyBlosxom.

The problems with this are two-fold. First, I don't have num_entries set in So every time someone requests the RSS 0.9.1 feed, they get all of my entries. It's around 340K or so. I'm amazed no one ever complained about this. If they had, I would have told them to get the other feed--the one I advertise--instead.

The second problem is that I didn't have the conditionalhttp plugin running. So every time someone requested the RSS 0.9.1 feed, they get all my entries--even if I haven't added any new ones since the last time they requested it.

I couldn't adjust the num_entries property in my file, though, because it would mess up my paging plugin. So I tossed things around a bit and decided to add this code to my file:

import os
query_string = os.environ.get("QUERY_STRING", "")
if query_string.find("flav=rss") != -1:
   py['num_entries'] = 20

This code checks to see if someone is grabbing the RSS flavour of my blog which is my unadvertised-I-wish-no-one-would-request-it RSS 0.9.1 feed and set the num_entries property to 20. Otherwise, it doesn't get set.

Then I tossed in the conditionalhttp plugin which does the whole last-modified thing further reducing the amount of bandwidth I'm burning away pointlessly.

Is there a (g|G)od?

, | Tweet this

Some folks spend their entire lives trying to find an answer to that question.

I just want to know where the bruise on my left arm came from. I mean, really--where did it come from? I've thought about this for hours now and now I'm beginning to think it's going to be one of those cosmic mysteries I will never find an answer to. It doesn't hurt a whole lot but it sure is colorful. Right now it's a mix of hues in the sickly-yellow/deep-purple range.

Sprint PCS (part 2)

, | Tweet this

I talked to Sprint Customer Service and got a really great customer service representative who read through my file, listened to what I was saying, and then actually spent the time to work through solving my issue. He hooked me up with a 2 year contract that met my needs and met Sprint's minimum requirements for the rebate.

Anyhow, so then I went down to the Sprint PCS in Harvard Sq and sat around listening to one gal who swore more than a bar full of sailors yell at one of the Sprint PCS guys because she didn't realize that if she's checking her voicemail, gets an incoming call and switches lines (without hanging up on voicemail) she gets billed double minutes (one set for one line and one set for the other line). Finally the guy puts his hands in the air and asks her really politely to stop swearing at him. Then I discovered that the unsupervised 3-year-old running around the store was hers. Interestingly she said she was a student getting a masters degree in psychology.

Then I listened to this other lady who must have a lot of other issues sit there and verify point by point over and over again the things she can and cannot do according to her contract... But she never actually read the contract nor did she actually listen to what her Sprint PCS guy was saying. I'm not really sure what she got out of the exchange. And she kept saying things like, "Ok. When I have a problem, I'm going to tell them that Joe at the Harvard Square Sprint PCS store said it works like this..." But that's not what Joe said at all so then he'd correct her and the whole thing would start over again. Joe isn't his real name.

Anyhow, after waiting 30 or 45 minutes, one of the Sprint PCS folks helped me out. I bought a Nokia 6225, signed the 2-year agreement, and chatted with a Sprint PCS lady who hadn't eaten since that morning when she got called in early because a bunch of the other Sprint PCS folks had called in sick or dead or something like that.

To summarize:

  • I'm still with Sprint PCS, got a phone I like, and their Sprint PCS Customer Service was really helpful and solved my problem.
  • The Sprint PCS people are _people_ and all the Sprint PCS customers I bumped into that day are self-righteous jerks who seem to honestly believe they're entitled to everything.
  • People aren't reading their contracts... or any of the paperwork involved for that matter.
  • The folks in the Burlington, MA Sprint PCS store ignored me and then were useless, but the folks in the Harvard Square Sprint PCS store were friendly and helpful (and swamped).

I spent most of the time sitting there waiting trying to figure out to fix these sorts of developer/user relation/communication issues for PyBlosxom while minimizing the crappy experiences and maximizing the good ones.

Anyhow, thanks to everyone who suggested solutions to my plight.

Getting there...

, | Tweet this

"Getting there..." That's my new motto. It's not "I finished it yesterday", "I'll finish it up tonight" or even "I'm planning to do it this weekend". Now it's "Getting there...". The last year has come with some changes which have totally foobar'd my ability to predict when I'll get to spend time on tasks and how long it'll take me to complete them. It seems a bit demoralizing. I feel like I've got a huge backlog of promises and the rate at which I finish tasks is much much less than the rate at which I acquire new tasks.

Additionally, I think most of the tasks are much larger and more complex now.

So my new approach is to not worry about completing things but rather spend more time focusing on the incremental portions, document stuff, and communicate with the rest of the folks involved. I'm thinking in terms of questions like this:

  • Can I spend some time on this to improve it?
  • Can I throw time at that to make one person happy?
  • Can I do some work on some other thing so that someone else can see what I'm doing and take it from there?
  • Can I shed some light on the issue so that someone else can take it from there?

The important message being that we're moving in a positive direction. We're in a game of inches and we're getting them one by one because there are so many things in the backlog that I can't seem to finish entire tasks in one sitting, so to speak. (Note to self--need to buy that movie.) And there's a lot of "us" in "we"--it's not just me. It's important to focus on documentation and communication so other people are equipped to work on things that I can't get to any time soon.