Page 1 of 2 >> (less recent)
I spent the greater part of my free time over the last two weeks reworking my blog.
Before it ran on Pyblosxom as a CGI process (yes---a CGI process). It had accrued a decade of sediment, redirects, hacks, hacks on hacks, etc (yes---a decade). It was kind of messy and---worse---it really impaired my ability to blog easily. That sucked.
Now it runs on Pyblosxom, but it's statically rendered with a post-receive hook from a git repository. The work flow for blogging is a lot easier and I can test things out locally before pushing them live. I also ditched a bunch of silly things in the blog.
I also ditched comments. I might at some point switch to using something like talka.tv, but most of the time people were writing comments as a response or a reply to me---not intending to be part of a bigger discussion with other readers. Given that, I ditched comments. No sense in spending the time maintaining them if they don't really get used. Instead, email me.
I updated my blog to use PyBlosxom from git master HEAD as well as updates to plugins that are now part of the PyBlosxom core. There have been a bunch of bugfixes, so my blog works a lot better now. I also abandoned a bunch of home-made plugins for their suped-up equivalents in PyBlosxom core.
I wrote a script that grabs my identi.ca dents and generates local entries for them. I figured most people probably don't follow me on identi.ca (which is a shame), so I'll bring it here.
Then I spent about 30 minutes tweaking the CSS to make the blog look a little better. It's not super, but it's good enough for now.
I run my own server and have been for like 10 years now. It's moved around over the years. Most recently it's been at ServerBeach. A little under a year ago, they obsoleted the server hardware I was using and their pricing was such that I would have to pay more going forward. So I figured it was time to jump ship to a VM somewhere.
Not too long after that, I got to talking with Asheesh about my dilemna. He mentioned how he wanted to build a new server and run a bunch of VMs on it. I helped him pay for the hardware. He bought all the bits, put it together, and then looked around for somewhere to host it. He decided to park it at Cernio--they're fantastic.
In October, the new bluesock instance came up. I finally bit the bullet and did the migration from the old server to the new one yesterday.
There are probably still some things not working, but I think most of it is functional now.
Yay for migrations! Yay for friends! Yay for cutting my server costs from $1200 a year to $120!
If you notice any problems, let me know. Only one of my entries uses it so far--I have to go back and update entries.
Rick kindly pointed out that comments on my blog were broken. Totally my fault--I've been working on PyBlosxom on and off and a couple of weeks ago I updated my blog to use the latest version of PyBlosxom in git master and didn't grab the latest comments plugin.
Comments were getting into the moderator queue (I moderate all comments), but when the comments plugin went to send me a notification email, it'd die.
They're working again.
Someone spammed my blog with 400+ comments for some shoes site. Took me less than 2 minutes to skim the emails, see the pattern, and then remove all the spam from my comments moderator queue. This sort of thing is the big strength of PyBlosxom.
I have my blog set up to store comments as individual text files in a
comments/ directory. All comments have to be approved
before they make it to the site. Approved comments end in
and comments in the moderator queue end in
Additionally, comments that contain one of a series of blacklisted words
are rejected automatically. Any time someone posts a comment, I get
It took me a minute to skim my 400+ emails and notice they're all kind of the same, 10 seconds to update the blacklist so that I won't get any additional comments like this in the future, and 10 seconds to remove all the spam from the queue with:
for mem in `grep -rl spamwordhere *`; do rm $mem; done
That was it--spam gone in less than 2 minutes. Took longer to write the blog post about it.
Got a comment on a post about a conference call today that I'm a "top 100 blog" in Python. I'm not sure what the selection criteria was, but it looked legit-ish. Added their seal and link to the sidebar for now.
I work at Participatory Culture Foundation and I have a work blog there that I use primarily for blogging about things related to PCF, Miro development, Miro-related development and other things of that ilk. It's on a WordPress system.
I decided after a while that having two blogs sucked. Also, I don't like Wordpress. Also also, I was getting crazy amounts of comment spam on my work blog.
As such, I did a couple of pushes to finish up PyBlosxom 1.5 enough so that I could write a tags plugin that I like so that I could migrate. Then I wrote a Wordpress to PyBlosxom migration script and the result is that I'm now blogging here for all Miro related things. Since it's easier to blog here, I'll probably be talking more about Miro-land. w00t!
I spent a few hours throwing together a new tags plugin that makes use of the new commandline features of code in PyBlosxom trunk (which will be PyBlosxom 1.5). Then I spent a while adding tags to all my entries.
I'm still mulling over my choice of tags, but I imagine I'll hone it into a set I'm happy with over time.
Also, I used
:: as a tag separator, but I think I'd recommend
something that doesn't require a shift key to enter. Perhaps ;; or //.
Tag information is stored in two dicts that are pickled and thrown in a file. It seems to be pretty fast to load for my blog (~500 entries). I picked pickle because it was easy, but if it turns out to be a problem, I'd be game for other storage formats.
I've been waiting for tags support before I did more blogging. Now that I've got tags support, I plan to move my work blog here. That'll make things easier and get me off WordPress.
It occurred to me that adding a link to category feeds was pretty trivial, so I figured I'd give it a try. It's a bit cluttered to look at (I'm talking about the Categories section on the right hand side there), but ... it's functional.
In case anyone was wondering what my category properties looked like, they're like this:
# category plugin properties py["category_start"] = "" py["category_begin"] = "" py["category_item"] = r'%(indent)s<a href="%(base_url)s/' + \ r'%(fullcategory_urlencoded)sindex.%(flavour)s">%(category)s</a>' + \ r' [<a href="%(base_url)s/%(fullcategory_urlencoded)sindex.xml">atom</a>]' + \ r' (%(count)d)<br />' py["category_end"] = "" py["category_finish"] = ""
Page 1 of 2 >> (less recent)
Copyright 1996 to 2013, Will Guaraldi Kahn-Greene, under the Creative Commons BY-SA 3.0 license
Will's Blog by William Kahn-Greene is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.