Changelog High Performance Programming Scalability Software Web Server WordPress
I became aware of an annoying little glitch on the Urban Mainframe yesterday. It seems that WordPress, on which this site is running, doesn’t handle the URL http://example.com/index.html on an unmodified install (I’ve confirmed this on a handful of other WordPress sites). This is significant because index.html is a special file on many web-servers, often being the “home” page of a directory on the server. Without special handling, a request for index.html on a WordPress installation generates a 404 (file not found) error — which is obviously something we don’t want our visitors to be presented with.
In my case the impact of the glitch was magnified because I employ a quite aggressive caching policy on this website — and yesterday an unlikely combination of factors resulted in my 404 error page replacing my home page for a complete cache cycle. It went something like this:
Quite a serious glitch then!
There are two things that shouldn’t have happened here.
I resolved the first issue by adding the following snippet of code to the very beginning of the 404.php file in my WordPress theme:
<?php
if ($_SERVER['REQUEST_URI'] == '/index.html') { header("Location: http://urbanmainframe.com/"); exit; }
?>
For the second issue I’ve filed a bug report with the authors of W3 Total Cache, which is the caching system I use here on the Urban Mainframe.
Apache Changelog High Performance Linux Open Source PHP Scalability Software Web Server Weblog WordPress
A long time ago, in a galaxy far, far away… oh sorry, wrong script. I’ll start over. In the dim and distant past, I wrote about my efforts to eke a little bit more performance out of the WordPress installation that this glorious website runs upon. What I’d done was fairly basic: content compression, reduced page weights, database tuning… the usual stuff.
I also described how I’d failed to get WP Super Cache working and wrote that I was investigating PHP accelerators. Yet, despite my endeavours, the website’s performance continued to be, well, pitiful. Some time later I managed to get WP Super Cache working and things improved, but were still disappointing to me.
I come from a mod_perl background and one of mod_perl’s strengths is the speed at which it can run its applications. The PHP app’s that I now find myself working with just can’t compete. I believed that I’d just have to accept that the performance goals I was aiming for weren’t achievable.
However, I was recently forced to reconsider my position when I was contracted to build a website on top of the Zend Framework — because, despite being written entirely in PHP, nursesstore.co.uk turned out to be very fast.
Suddenly, I knew that it was possible to build fast PHP applications. So I turned my attention, once again, to the speed-deficient Urban Mainframe with the fire of the true zealot burning in my eyes.
Changelog Design Graphics Imaging Software Typography Web 2.0 Web Design Weblog WordPress

The paint has now dried on the redesign of the Urban Mainframe’s home-page. The celebrations have begun to diminish and normality is being restored. As the dust settles, I thought I’d write a little about the thought processes behind the design. I’d also like to document a few of the little tricks I’ve employed (because I’m ever so proud of them).
Despite trying various tweaks and reshuffles of
the previous version of the home-page, I was never totally happy with it. Looking back, I think I tried to convey way too much information on that page, which made it look terribly cluttered. It simply didn’t “feel” right to me. The problem was that I had no idea of how to remodel it, no inspiration.
Apache Changelog Open Source PHP Search Engine Software Weblog WordPress
Oh the weather outside is frightful
By my Mac it’s so delightful
Sign on to my WordPress node
Hack the code, hack the code, hack the code
Er, sorry about that folks (and Mr. Brooks). So I’ve spent my weekend fooling around with WordPress plug-ins and enjoying some hard-core coding action with a hot PHP interpreter. The results of which, are a handful of new features on this site, a few little things that should make your stay here even more rewarding than it already is (I know, I know – that hardly seems possible – but I’ve managed it, superstar hacker that I am.)
Changelog Design Humour Web Design Weblog

The World-Wide Web was rocked earlier today by the launch of a new home-page design on the hitherto obscure Urban Mainframe website. The design of the home-page stunned visitors with its sheer beauty and the sophisticated functionality that appears to be behind it.
Changelog Database Open Source PHP Programming Software UM Code Web Design Weblog WordPress
In this article I’m going to present the PHP code I wrote for the Window into the Archives module that currently adorns the sidebar on this website. I described the rationale behind the module in an earlier essay.
Changelog Essay Experimental GUI Imaging Web Design Weblog WordPress
Back when I rebooted the Urban Mainframe and made my big switch to WordPress, I registered with wordpress.com and started recording traffic data for this site — looking for an ego boost, like you do. I also installed the WordPress.com Popular Posts plug-in and it is this which drives the “What’s Popular Here?” widget in the sidebar.
I had hoped that the Popular Posts widget would drive some traffic to some of my older posts and indeed it did, but with an unexpected consequence.
To anyone out there on the ol’ Interweb who still reads this… I know it may appear that this website has fallen victim to neglect but, believe me, that’s just an illusion.
I’m still here folks. I’m still working away in the engine room of this website. I’m still hacking the code. I’m still making subtle changes to the UI and the design… I know I’m only making painfully slow progress, but ’tis progress nonetheless.
The simple fact is that I am currently swamped with work (which is every freelancer’s dream, and nightmare). As a consequence of this, the poor old Urban Mainframe takes second place because, obviously, I have to pay the rent.
In the immortal words of the T-800 Model 101, “I’ll be back!”
Changelog Design Open Source Software Typography WordPress
Last night I stumbled across Dan Cederholm’s article, Use the Best Available Ampersand and, for whatever reason, it struck a chord with me. I knew immediately that I would have to follow Cederholm’s lead and add some ampersand loving to the Urban Mainframe.
In his article, Cederholm describes applying a CSS class to ampersands to apply a more attractive typeface to them. Great, but that means that I’d have to remember to use that class everytime I used the ampersand character and that’s more effort than I want to expend. So I decided to write a WordPress plugin to automate the process.
Art Changelog Graphics Imaging Photography Weblog
I received an email yesterday that had me momentarily confused:
ya know its really bad form to claim copyright on photos that you haven’t taken. I noticed this on a few photos on your site recently and then on http://blog.urbanmainframe.com/2009/05/mac-finder-icon-canvas/ you put your copyright on the picture even though it clearly says underneath that the photo is by purplelime. That sucks man. You really should rethink this coz it makes you look bad and I also think it illegal.
I realised that what I was actually being chastised for is the recent addition of the urbanmainframe.com digital watermark to some of the images on the site (rendered with the Scissors WordPress plug-in).