I just wrote a quick plugin to help someone solve a WordPress performance issue. There’s definitely something wrong with this picture. I mean, I’ve been supporting LightPress and made the switch precisely because of performance issues (the templates are nifty too), didn’t I?
Granted I only found out about the problem because of Ludo’s outraged post on LightPress.org. Blaming MySQL is certainly a new twist on resolving performance problems, even if it’s utterly wrong in this case. My position on database queries: design them properly (that includes the underlying tables too) and they will work like a charm no matter database engine you use; write them poorly and thou shalt get bitten. MySQL and Oracle will both grind to a standstill with an unoptimized query that joins poorly designed tables.
It will be interesting to see what comes out in the end. Is it a plugin? Is it a WordPress query that scales badly? In any case, I know I don’t have to worry about the same problem over here in LightPress-land.
I’ve just released the newest version of my keywords plugin. This minor release includes two new features that I find very useful:
- Suggested keywords - A list of your eight most popular keywords will show up below the keywords field. Each time you save, they will update to reflect words used in the post. The algorithm used is very simple but should help you to remember other relevant keywords that you’ve used in the past.
- Natural sort for tag cosmos - By popular demand, the tag cosmos now uses a case-insensitive natural sort order. What does this mean? Upper- and lower-case keywords are no longer separated and the “natural sort” will put values like “9km” ahead of “10km”.
Enjoy!

Ok, I think everything is sorted out after the switch to LightPress. Comments are working properly again, feeds are fixed (despite my best efforts to break them over the last few days) and I think all of the permalink & style issues have been sorted out.
I can’t blame this on LightPress, the 1.0.0 release is solid and works fine if you don’t tinker with the code. But I’m constantly trying to “improve” things and as a result I’ve been busy fixing my own bugs! I’m happy to report that my tags/keywords plugin for LightPress is working very nicely now — if you wondered why my feeds were scrambled, this was the culprit. It’s not ready for general release just yet, but soon I hope.
Rest assured that if you’re using any of my WordPress plugins, they’ll continue to be supported. After all, they’re still running “behind the scenes” on this site, even if LightPress is handling page rendering.
Things that have been removed during the switch:
- Comment thread feeds — this isn’t supported in LightPress yet, but I’ve added it to the list.
- RSS 0.91 feeds — there’s a limit to how many old formats can/should be supported. I’d recommend switching to the Atom feed, if only for it’s support of relative URI’s.
LightPress 1.0 was released earlier this week and I finally made the switch. I’m really hoping that I haven’t missed anything in the transition — the initial conversion was simple but my test site diverged from my WordPress site several times in the past. If any parts of this site seem broken, please let me know!
I’m much happier with my LightPress templates, they’re much cleaner to work with. I’ve also written a bunch of LightPress plugins — including a new version of Jerome’s Keywords — and they took about 1/4 of the effort of the WordPress versions. I think that’s a pretty good trade. I’ll post the new plugins as soon as I can, along with a quick conversion guide. Ludo has received permission to convert Michael Heilemann’s Kubrick theme so look for that to appear shortly, too.
Comments are the only thing not working properly at the moment. All of my test comments have gone straight to moderation. It could be a Spaminator problem (bundled with LightPress) but it’s more likely a bone-headed configuration error on my part since they seem to work fine on all of the other LightPress sites, including both of my test sites. More to come…
I’ve been doing some Xdebug profiling on LightPress to ensure that speed is properly balanced with memory usage, thanks to some tips from Sencer. While I was at it, I thought it might be fun do a few profiles on my WordPress development site.
Xdebug offers numerous profiling modes, but the one I’ve used here is the “Total Execution Time” (4) profile which sums the excution time for each function call and lists functions in descending order. E.g. if the function apply_filters is called 10 times, the total will show the sum of the 10 separate calls (note that further calls made within a function count do count towards its total). This is a useful profile to determine which functions make up the bulk of WordPress processing time.
(more...)