the year so far

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

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 config.py. 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 config.py 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 config.py 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.

Getting there...

"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.

Free time

The weekend whizzed by....

  • hosted a christmas party--drank lots of eggnog and listened to stories from Mike and Chris D

  • cooked eggs a la H

  • played D&D (my character is no longer possessed by a demon! w00t!)

  • worked on pyblosxom.sourceforge.net

  • watched the movie Singles

  • christmas cards

  • worked some more on pyblosxom.sourceforge.net

  • did the first pass at cleaning "my office"

  • booked a trip in February to Florida

Then I came into the office and skimmed Planet Debian while our Internet connection was going up and coming down faster than a 5 year old on a pogo stick and bumped into this. It was a good weekend.

Updates:

April 7th, 2021: updated urls

Five things that changed my life this week

  1. switching to emacs and getting my configuration issues worked out

  2. discovering screen

  3. subscribing to the mudos mailing list where the folks are really awesome

  4. building the new pyblosxom web-site (not open yet)

  5. the amazing amount of activity on the pyblosxom mailing list which has given me a lot of confidence that there are other people who want to help out so I can go work on the things I'm interested in

Screen

screen is great! My friend says this is what you need to know about screen:

$ screen
$ (launch something)
ctrl-a ctrl-d
$ (do something else)
$ screen -x

JDEE and Ant

I've got JDEE 2.3.4 and Apache Ant 1.5. The problem I was having was that I'd get this error message whenever I tried to do C-c C-v C-b (i.e. build my project using ant):

ant -buildfile 'c:/Tools/src/spiderutil/build.xml' -emacs
Buildfile: 'c:\Tools\src\spiderutil\build.xml' does not exist!
Build failed

Compilation finished at Tue Dec 07 11:22:24

Anyhow, after some poking around, I discovered this post (http://article.gmane.org/gmane.emacs.jdee/3910/match=+buildfile+exist) which helped me fix my issue. I went into jde-ant.el and removed two instances of "delimiter" and now everything works super duper.

gmane is _intensely_ cool

I was reading the Debian Weekly News (from 11/30/2004) and one of the blurbs mentioned putting DWN in RSS format and then also mentioned that Gmane already does this for all the mailing lists it tracks.

"Blog" versions of the pyblosxom mailing lists:

And it has RSS. RSS versions of the pyblosxom mailing lists:

That's amazing.... Talk about killer services.

Jumped to Emacs

I did a third attempt to get Eclipse working and I got it mostly working but it didn't jive with our codebase very well and it takes GOBS and GOBS of memory.

I decided NetBeans took up too much memory as well (200MB at various points depending on what I was doing) and I kept bumping into weird NullPointerExceptions in the IDE itself. If I had more time, I'd spend more time: a) fleshing them out, b) providing bug reports. But the issues were too sporadic and it was taking too much time to come up to speed to the point where I could use it all the time. And the VSS plugin was kind of flakey and made me nervous.

I uninstalled both NetBeans and Eclipse and installed Emacs. I stuck Viper mode at 2 and after reading documentation for a bit, I finally made some connections I didn't make the last time around with Emacs and I've been working with it most of today and part of yesterday without any issues.

Helpful Emacs links: