python, php, and xslt

I had the occasion over the last couple of days to do some work with python, php, and xslt.

Python, which I haven’t really touched for a couple years, comes back fairly quickly. especially on this little project, where I am looking at two different code bases, no documentation except for the code–it is pretty easy to see what the authors are trying to do here. not too hard to hack away and make some progress.

PHP, I am relatively new to–and I am instantly productive. What I am doing is not rocket science, but it sure is easy. In fact–I am doing XSLT with PHP. Yeah, I know that libxsl is under the hood, doing its magic and that I am benefitting from that. also, by being a late PHP adapter, the implementation of XSL is now a bit more mature and easier to use.

But I’ve done fairly hefty XSL projects in python, Java, and Frontier, and the PHP implementation is so easy–it literally only took me about 5 minutes to get something working, and that includes the reading of the tutorial. Now I have a 40 line PHP file and a 5 line htaccess file, and with that I have a simple xml-data driven website.

Lastly–XSLT. It is funny how some technologies stay with you, and some don’t. XSL has stayed with me, and I was able to convert an HTML design mockup into a working xsl stylesheet in just a few hours tonight. Feels good, and it is fun–you can instantly see the results of your work.

svn: ‘wp-content/plugins/akismet’ is not a working copy

Maybe you’ve been upgrading your WordPress installation using the Subversion method (sweet and easy! if you like the command line). If so, in the update to v2.6.1 or so, perhaps you’ve gotten this error message:

Fetching external item into ‘wp-content/plugins/akismet’
svn: ‘wp-content/plugins/akismet’ is not a working copy
svn: Can’t open file ‘wp-content/plugins/akismet/.svn/entries’: No such file or directory

Yeah, me too.

This isn’t a big deal, btw. Your wordpress installation will work just fine, it’s just more of an annoyance. Below I explain how to remove it.


Previously, the WP guys used Subversions “externals” feature to pull in the akismet plugin automaticall from a different part of their subversion repository. In v2.6, the Plugin upgrade system was added, and now Akismet can be upgraded from the admin interface. So they removed the svn property that brought in the Akismet code because it was not needed any longer. This is what caused the error message.

Update: Actually, I just created a new blog, and it is pulling Akismet in via the svn:externals. So I am not sure exactly what happened–it seems to be an issue from an existing SVN install, being updated to 2.6.1 or above. Strange. Anyway, the “fix” below seems to be sufficient, if you don’t mind upgrading Akismet via the admin UI.

To fix it:

1. in a terminal window, change directories so that you are in the wp-content/plugins directory.


2. remove the svn:externals property.

Your shell commands will look something like this:


$ cd blog/wp-content/plugins


$ svn propget svn:externals 


$ svn propdel svn:externals

property ‘svn:externals’ deleted from ‘.’.




Update Akismet from inside WP

Now you get to use WP’S snazzy new plugin update features. In your admin, go to the Plugins section. If you haven’t already done the upgrade, there will be an upgrade notice beneath the Akismet Plugin information.

Click “upgrade automatically” to activate the update. Easy!