Tag Archive for 'Wordpress'

Upgraded to Wordpress 2.5

I just upgraded the blog from Wordpress 2.5 RC1 to the release version. Do let me know if you notice anything weird.

WordPress supports BuddyPress, goes social.

Wordpress MU, the multi-user version of the Wordpress blogging engine powers gazillions of blogs on Wordpress.com and is to get social networking features following Automattic's hiring of BuddyPress creator Andy Peatling.

The BuddyPress site is currently moving servers but you can still get the open source BuddyPress code from Google Code.

I just had a quick look at the code; the core features (profiles, friends, and messaging) have been implemented and it looks promising.

I'm still debating which (if any) existing platform to base the social networking aspects of Singularity on. The top contender so far is Drupal but, the more I look into existing solutions, the more I feel that a clean, service-oriented custom solution is the best one for the Flex-based Singularity conference application.

Find and add Creative Commons Licensed photos to your blog from Flickr

This sounds awesome: Photo Dropper is a Wordpress plugin to find and add Creative Commons licensed photos to your blog from Flickr.

I haven't tried it yet but I'll update this post once I do.

Read more about Photo Dropper on ReadWriteWeb.

Update: Had a chance to install and test the plugin. It's cool, especially for a Version 1.0 but a few shortcomings are immediately visible. For one thing, once you've added a photo, you have to edit it via the HTML. It would be cool if you could change the settings (size, etc.) after adding it. Also, it would be really great if you could resize the photo or crop it (these are pretty hefty feature requests that might hopefully make it into future versions). An easier feature request to implement would be to see what the various sizes are (S, M, L) in pixels and to be able to specify alignment/float values.

Upgrading to Wordpress 2.3.2

How unsexy are Wordpress security updates? I have the horrible habit of doing everything else first before attempting one (which, of course, is absolutely the worst thing you can do, as the recent spam hack on the SWX blog demonstrated so well). I used to dread doing the updates mainly because I just knew something would break. At least that's how I used to feel.

When I last upgraded Wordpress, a little over a week ago to version 2.3.1, I made a slightly delayed New Year's resolution that I wouldn't hack the blog. Instead, I decided to do everything using plugins and widgets (which are plugins that display on your sidebar). And -- wonder of wonders -- I actually stuck to it! That being the case, upgrading is no longer a nightmare.

In fact, when you have an unhacked Wordpress installation, all you have to do to upgrade to 2.3.2 is:

  1. Download 2.3.2.
  2. Delete the wp-content folder and the sample wp-config file from the distribution.
  3. Test it locally on your development machine (skip this step at your own peril; the last thing you want is all your readers discovering your "Doh!" moment mistake at the same time as you do!)
  4. Upload the new files to your server.

That's it. All in all, it took me under ten minutes to do. As there were no database changes between the two versions, I didn't even have to run the upgrade script (which I realized after running it on my local installation and seeing the resulting message.)

The moral of the story is that if you don't hack your blog but use plugins for everything, upgrading no longer needs to be a nightmare. Using a plugin-based architecture (which in Wordpress shares similarities with aspects and the Template pattern in object/aspect-oriented programming) gives you flexibility in customizing something without altering the original, thereby making updates to the original possible without breaking your customization.

The same moral holds true for development when you're using third-party libraries. Instead of hacking them, see if you can't extend their capabilities either via inheritance, or, even better (because it's more flexible), through composition (say via the Decorator pattern or by using interceptors). That way, unless the public API of the library changes, you won't be afraid to update the library to its latest version. (And, if you're designing an API, see if you can't include some hooks or filters in there to make it easier for people to extend it without too much trouble.)

To cut a long story short, the blog's now running Wordpress 2.3.2 and all is well. It's also a real pleasure to actually find myself looking forward to the next Wordpress update rather than dreading it! :)

Licensing blog posts, Creative Commons, and license abusers

The content in my blog is licensed under a Creative Commons Attribution UK license. So that means that you can basically take the content and do what you like with it as long as you give me credit. So, as long as scrapers give me proper credit, I really can't say anything to what they're doing. I don't approve of what they're doing, but, as long as I'm using the Attribution license, I can't object to it.

I don't know if this is an inherent failing of the Attribution license or not. Should it include an ethical clause, for example, that specifically disallows scraping of content and other abuses?

Part of the beauty of Creative Commons is the simplicity of the licenses. They make it easy for content producers to know what rights they have when working with other people's content. The idea is to make it easy (to legally) remix content. But it also makes it possible for lowlives to do things like scrape your blog's content en-masse, slap some ads on to it and make money off of your work. Moreover, there's nothing to stop someone taking that Creative Commons Attribution licensed picture of you from Flickr and using it in an ad campaign for a product or service that you don't support.

(Or is there? Surely releasing a photograph of a person under the Creative Commons Attribution license doesn't imply that there's a model release for that photograph? What if you release a photograph of someone else (without getting a model release) under an Attribution license and that photograph gets used in an ad campaign... are you liable if the subject of the photo objects to the use? Do you even have the right to release the photo under an Attribution license?)

Of course, you can shield yourself from a lot of these complications simply by using a non-commercial Creative Commons license for your content.

It's the age old dilemma: do you want your content to be as widely seen and used as possible or do you want greater control over how it is used?

Maybe I should use a non-commerical license. It would at least give me recourse against blog scrapers and I really don't approve of what they're doing...

That's it, I've talked myself into it! The content on my blog shall henceforth be licensed under a Creative Commons Attribution Non-Commerical UK license.

I'm using the excellent Creative-Commons-Configurator Wordpress plugin by George Notaras to include the license in the blog's header, in posts and on the feed.

What license are you using for your content? I'd love to hear your thoughts on the subject of licensing, Creative Commons, and abuses of open licenses.

WP-Cache

Saturdays are Update-Your-Blog Day at Casa Balkan and I've just enabled WP-Cache for the blog after thinking about doing it for, oh, several years now.

Please let me know if you notice any weirdness.

Do any of you use WP-Cache?

Bad Behavior conflicts with Digg

I use Bad Behavior and Akismet on this blog to control spam and, while the solution works splendidly, it isn't without the occasional hiccup.

Yesterday, Corban Baxter alerted me that he couldn't digg my startling exposé of Apple's upcoming flying MacBook Pros (thanks, Corban!). Googling around this morning, I found that the problem was being caused by Bad Behavior, not Wordpress. Or, more specifically, according to the author of Bad Behavior, it is a problem with Digg's crawler.

The solution to getting Digg working with Bad Behavior is to simply add the Digg crawler's IP address (64.191.203.34) to the Bad Behavior whitelist file (whitelist.inc.php) as shown below:

$bb2_whitelist_ip_ranges = array(
    "10.0.0.0/8",
    "172.16.0.0/12",
    "192.168.0.0/16",
    "64.191.203.34",
//  "127.0.0.1",
);





Bad Behavior has blocked 0 access attempts in the last 7 days.