Engaged!

Over the weekend, I watched the last sunrise of 2005 on a beach in Maine and then asked S to marry me and she said yes. So that was nice--she smiled at me all day long.

PyBlosxom 1.3 RC1 released!

I'm releasing PyBlosxom 1.3 release candidate 1. w00t! A lot of work has gone into this and it's taken way way way too long to finally get it out. My apologies to everyone who's been waiting and such.

Changes between 1.2 and 1.3

Pertinent to users:

  • We added a "blog_rights" property. This holds a textual description of the rights you give to others who read your blog. Leaving this blank or not filling it in will affect the RSS 2.0 and ATOM 1.0 feeds.

  • If you set "flavourdir" in your config.py file, you have to put your flavour files in that directory tree. If you don't set "flavourdir", then PyBlosxom expects to find your flavour files in your "datadir".

    The flavour overhaul is backwards compatible with previous PyBlosxom versions. So if you want to upgrade your blog, but don't want to move your flavour files to a new directory, DON'T set your "flavourdir" property.

  • Moved the content that was in README to CHANGELOG.

  • You can now organize the directory hierarchy of your blog by date. For example, you could create a category for each year and put posts for that year in that year (2003, 2004, 2005, ...). Previously URLs requesting "2003", "2004", ... would get parsed as dates and would pull blog entries by mtime and not by category.</p>

  • Logging works now. The following configuration properties are useful for determining whether events in PyBlosxom are logged and what will get logged:

    • "log_file" - the file that PyBlosxom events will be logged to--the web-server MUST be able to write to this file.

    • "log_level" - the level of events to write to the log. options are "critical", "error", "warning", "info", and "debug"

    • "log_filter" - the list of channels that should have messages logged. if you set the log_filter and omit "root", then app-level messages are not logged.

    It's likely you'll want to set log_file and log_level and that's it. Omit log_file and logging will fall back to stderr which usually gets logged to your web-server's error log.

Pertinent to developers and plugin developers:

Nothing that I know of. Everything should work pretty much the same.

Download, comments, et al

Download it at http://www.bluesock.org/~willkg/download/.

It's been locally tested (my blog has been running the version in CVS for over a month now), but not globally tested. While I'm pretty confident that it should be ok for most people, I'm sure there are some issues that have fallen through the cracks of our total lack of regression testing and unit testing environment.

As such, I heartily encourage anyone still using PyBlosxom to set it up locally and run it through the steps that your blog entails and let me know this week whether there are any issues.

If I don't hear from anyone by Saturday, I'll just release it at my leisure.

The future

This is it for me. This release fixes a bunch of flavour issues that needed fixing. It also includes a much better version of the manual and some work has gone into making it more Python-standards compliant.

Over the last 9 months, the world of web-application development and Python web-application development has changed radically. I'm a little tempted to re-write PyBlosxom using Paste, but I don't think it really helps our "typical user" much and I'm not sure it makes sense given that there are a variety of other weblog applications out there that are well-established and have more momentum.

As such, I'll be helping with minor bug fixes and that's it.

Happy new year!

Bee Careful, Marvin!

S and I wrote a children's book a year or so ago and only recently finished making needed revisions and self-publishing it on Lulu.com. We ordered a few copies to make sure it looked good in print and they showed up today and they're fantastic!

The book was created using Open Source tools Gimp and Scribus. The book is released under a Creative Commons license (by-nc-sa 2.0). We decided not to collect royalties, so the price of the book is solely Lulu's publishing costs.

The book isn't perfect--there are some color issues I'm puzzled about. It's our first book, though, and we're really excited--this is a wonderful moment for both of us.

Our Lulu storefront

Sorry for the inconvenience...

My blog has been going up and down a lot over the last few days as I'm getting the kinks out of some code I re-wrote in PyBlosxom and searching for other issues. I've successfully transitioned to the new included RSS 2.0 feed without disturbing any of the planets that I'm on. Things are looking good so far. Release soon!

PyBlosxom status: 12/13/2005

I re-wrote blosxom_path_info_handler and cleaned it up a lot. The adjustments also allow people to create categories that look like dates (and previously would get interpreted as dates and screw things up).

I'm going through the documentation, the bug list, and a couple of other changes I want to make. I'll also tackle any low-hanging fruit that's on my todo list. Otherwise, I consider PyBlosxom 1.3 pretty complete. If all goes as I plan, it'll be out before Christmas in some form.

PyBlosxom status: 12/06/2005

I've been running my blog on the latest code and keeping track of all exceptions that get thrown and any other odd issues and things seem to be going well. As such, I'll be preparing to do a release candidate soon and then start the mildly painful process of re-writing the appropriate sections of the PyBlosxom manual.

I'm also taking some time to run Cheesecake against the codebase. The results so far are somewhat of a bummer:

[cheesecake:console] Detailed info available in log file /tmp/cheesecake_sandbox
/pyblosxom-1.3.tar.gz.log
[cheesecake:console] A given package can currently reach a MAXIMUM number of 560 points
[cheesecake:console] Starting computation of Cheesecake index for package
'pyblosxom-1.3.tar.gz'
index_unpack ..................  25 (package untar-ed successfully)
index_unpack_dir ..............  15 (unpack directory is pyblosxom-1.3 as expected)
index_install .................   0 (could not install package in
/tmp/cheesecake_sandbox/tmp_install_pyblosxom-1.3)
index_file_announce ...........   0 (file not found)
index_file_changelog ..........  10 (file found)
index_file_ez_setup.py ........   0 (file not found)
index_file_faq ................   0 (file not found)
index_file_install ............  10 (file found)
index_file_license ............  10 (file found)
index_file_news ...............   0 (file not found)
index_file_pkg-info ...........  10 (file found)
index_file_readme .............  15 (critical file found)
index_file_setup.py ...........  15 (critical file found)
index_file_thanks .............   0 (file not found)
index_file_todo ...............   0 (file not found)
index_dir_demo ................   0 (directory not found)
index_dir_doc .................  25 (critical directory found)
index_dir_example .............   0 (directory not found)
index_dir_test ................   0 (directory not found)
index_docstrings ..............  70 (found 264/382=69.11% modules/classes/methods/functions
with docstrings)
index_pylint ..................  68 (average score is 6.77 out of 10)
===================================
ABSOLUTE CHEESECAKE INDEX ..... 273
RELATIVE CHEESECAKE INDEX .....  48 (273 out of a maximum of 560 points is 48%)

So, 273 out of 560... Could be worse, but should be a lot better.

Laptop workouts

It's a shame that my laptop doesn't become stronger and healthier if I give it a good workout on a regular basis. If this weren't true, then I could run it through some regular weight-training and it'd work better for me. Of course, if that were true of everyone's laptops, then you could walk into a cafe and glance around at all the laptops and know which people use their laptop primarily for word processing and email and which people are doing fluid dynamics simulations, compiling, Folding@Home and things like that.

Sound Bites has amazing breakfast

S and I finally got around to going to Sound Bites--a restaurant in Ball Square about a half mile from Davis Square in Somerville, MA. It's really kind of silly--I've been living in the area since 2002 and I knew the place was there and I knew about all the fancy things people said about it. I even knew a bunch of people who've been there and can't think of anything else to say other than, "dude--the food is amazing."

So this morning, S and I decided to start our day with brunch at Sound Bites after having mildly terrible Thursdays and it was wonderful!

Boston Phoenix review

PyBlosxom status: 11/27/2005

The code seems to be working nicely so far. There's one piece I still want to code before a PyBlosxom 1.3 rc release. I still have to go through the manual, update the content, and do some more work on organization. It's likely I won't get to work on it until the end of the semester, so that puts the next release some time at the end of December.