
You can imagine my surprise when I picked up the local newspaper, Liverpool Echo, and read that a woman had been living inside herself. My first thought was she may have been part snail or tortoise but it turns out it was just someone at the Liverpool Echo/Daily post building sleeping on the job. In fact it must have been several people sleeping on the job. Unlike web publishing where an article will likely be written, proof read and published by one person a newspaper will generally pass through several people’s hands before it leaves the building plus this was in a huge font on the FRONT page of the newspaper. It’s unfortunate that a serious and tragic story was turned into comedy by some lacklustre quality control
I like the idea of the new art installation “The Telectroscope” by Paul St. George and I can imagine some people, thick people, falling for it. I say I like the idea because I’ll not get to see the thing for real being that it’s in London and New York. I could bitch about the fact that it’s another project that centres on London, apparently the only city of merit in the UK, but I won’t. Also don’t like the fact that they vandalised Wikipedia to promote this thing but it wasn’t like they edited an existing page changing history in the process, so I’ll let them off with that. Wikipedia has weathered greater problems than this and is still able to tell the world truth that Mr T invented the combine harvester.
There’s a gallery of images and more information about it on the official website.

The specification of the new Acer PC Predator is amazingly good, the style on the other hand is way off. I can understand why people go for Apple hardware on looks alone if this is he best that can be done by the other team. I know they’re trying to appeal to a certain market segment but why is it that when these designers hear that something is to be aimed at PC gamers do they suddenly think we want something that looks like it’s straight out of a Mecha anime. Some of us who play game on PC are actually professionals who like things to be a little more subtle than a 2 tonne hammer in the paws of colour blind, deranged ape with a penchant for exaggeration. Please can the PC designers out there come up with something that wouldn’t look out of place in a home but is still intended for game playing. Some of the Dell XPS systems and all of the Alienware systems are guilty of the same design for gamers stuff but to a far lesser degree than the atrocity that Acer have managed. Well done Acer, bottom of the gaming PC barrel reached we should be able to climb out now. I say that more in hope than expectation as I’m sure someone will find a way to “better” Acer.
If you ever feel like you want to change the source of the news items on the wordpress dashboard here is how to do it.
You can either add the code that follows to your themes functions.php or you can add it to a plug-in. Just change the returns from the function to match your feed URIs and titles. There are two feeds the primary, which by default is the “Development Blog”, is limited to about 3 entries and the Secondary feed is much more open.
If you’d like to delete the feeds the just set the return to “”, doing this helps dashboard load time a lot.
/*
Plugin Name: Dashboard RSS replacement.
Plugin URI: http://www.completelypointless.co.uk/
Description: Changes the dashboard RSS to something more interesting.
Author: James R Whitehead
Version: 1.0
*/
function change_dashboard_primary_title () {
return "Completely Pointless";
}
function change_dashboard_primary_feed() {
return "http://completelypointless.co.uk/feed/";
}
function change_dashboard_secondary_title () {
return "BBC News";
}
function change_dashboard_secondary_feed() {
return "http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/front_page/rss.xml";
}
add_filter("dashboard_primary_feed","change_dashboard_primary_feed");
add_filter("dashboard_primary_title","change_dashboard_primary_title");
add_filter("dashboard_secondary_feed","change_dashboard_secondary_feed");
add_filter("dashboard_secondary_title","change_dashboard_secondary_title");
That’s it, nothing too onerous or perplexing. I will say however that if you’re distributing themes or plug-ins that it would be nice to let wordpress keep their feed in there.
Create a “.htaccess” file in the folder you want to be cached and add the following to it.
# Cache files for a week.
<IfModule mod_headers.c>
<IfModule mod_expires.c>
<FilesMatch “\.(jpg|jpeg|png|gif|swf|css|js)$”>
Header set Cache-Control “max-age=604800, public”
</FilesMatch>
</IfModule>
</IfModule>
This will have the effect of caching your site for a week. The number 604800 refers to the number of seconds in a week you should also see the file types mentioned in the line above. Change them as you see fit.
You will need mod_headers and mod_expires enabled in your apache htpd.conf for this to work, but with the ifmodule statements in there there should be no problem if they aren’t installed. If it wasn’t for the two ifmodule statements your site would be dumped to a 500 server error if it couldn’t find them.
To check the expiration times I find the easiest way is to load the page in Firefox, right click somewhere and hit “View page info” then go to the media tab. You will see date and time for the expected expiry of the image files on your site.
Restricting the ability to sign up to new wpmu blogs is unfortunate but necessary to get away from all the spam bloggers out there. They make life hell for everyone.
This simplest means of hindering their progress is a plug-in that checks to see the login status of the person trying to create a new blog.
<?php
add_action("signup_header","ICITAreYouAllowed");
function ICITAreYouAllowed() {
if (!is_site_admin()) {
header("location: http://{$_SERVER["HTTP_HOST"]}");
} else {
return;
}
}
?>
Something like the above dropped into the mu-plugins folder would make it hard, if not impossible, to create blogs unless you where a site administrator. Nice for locked down sites but not very useful for sites that want to be open. You could change the “is_site_admin” to a check for logged on user with “user_level_0″ access. This would add an extra step to the sign-up process and would require that the user provide a few more details before they can move on to the process of creating a blog. This would eliminate the scripted bot blog creation but would not stop the manually created spam blogs.
That leaves us with a problem. Either lock it all down and the admin has to do it manually upon request or leave it open and be forever fighting fires.
As a result of the above I’m going to create a plug-in that gives you the following
WARNING: These are my personal notes and there is no time frame for this. I can see this turning from the simple code above to something quite large.
Update 06/2008: Well this all came to nothing. Since I wrote this I’ve had little to no reason to go back to wp-mu for much. Also now that mu allows you to halt all sign-up, it didn’t at the time, the original motivation for doing this has gone. Some of the ideas are still valid and may make it to a site I create eventually just not for a long while.
The following is the basic procedure for installing Wordpress mu with more than one domain name so that you only need one install to control several domains. I’m creating this document to help me see all the steps I’ve take so that I never have to figure it out from cold again and to help me with the writing of a plug-in that will allow me to do this via a very simple interface.
SELECT * FROM wp_blogs WHERE 1and look for the blog you just created and make a note of its blog_id.UPDATE wp_blogs SET domain="newdomain.com" WHERE blog_id =9 LIMIT 1SELECT * FROM wp_9_options WHERE option_value LIKE "http://%" INSERT INTO wp_site (id,domain,path) VALUES ("9","newdomain.com","/");We can use the blog_id as the value for id if it has not been used before, if it has been used then just pick a number that’s not been used and make a note of it. The value of domain should be that of the new domain {e.g. newdomain.com} and the value of path should normally be “/”.SELECT * FROM wp_blogs blog_id = 9 and edit the site_id to be that of the id we set up in step 9. So that would be UPDATE wp_blogs SET site_id=9 WHERE blog_id =9 LIMIT 1. Change the site_id to that which you previously chose if it is not the same as the blog_id. I like to keep them the same to aid my admin but there is no technical need to do so.INSERT INTO wp_sitemeta (site_id,meta_key,meta_value) VALUES ('9','site_admins','a:1:{i:0;s:5:"admin";}');If you need to change the admin name to something else, say “administrator”, you will have to change the s:5 to match the size of the new word. In the case of “administrator” it would be set to 13. INSERT INTO wp_sitemeta (site_id,meta_key,meta_value) VALUES ('9','menu_items','a:1:{s:7:"plugins";s:1:"1";}');