Not down… just disconnected

This site was inaccessible for about 10 hours this morning. Slashdot has the story:

Multiple news reports, mailing list posts, blogs, and tweets are pointing out two overnight acts of sabotage in the San Francisco Bay area, with long distance fiber network cables being cut in two locations in the early morning hours. The first cut, around 1:30 AM, affecting landline and cell phone service and 911 calls in the communities of Morgan Hill, Gilroy, and parts of Santa Cruz counties, was on an AT&T fiber alongside Monterey Highway near Blossom Hill Road, in San Jose. A second cut, around 3:30 AM, in San Carlos, affected Sprint fiber and has significantly disrupted services at the 200 Paul datacenter in southern San Francisco.

It was the second cut that affected this site: it’s hosted on a box in the Cernio portion of the 200 Paul datacenter.

About to upgrade to WordPress 2.7

As with all major upgrades, a short outage is possible…..
(A few minutes later.)
Well, that was painless. If you notice any issues, please comment here….
UPDATE: Let me just try a couple of plugins to make sure they’re working. I don’t actually use that many plugins ((and those that I do are relatively simple)) so this should be easy.

Testing the iPhone app for WordPress

Just a quick posting to test the WordPress client for the iPhone. The main advantage over a web-based client is that it supports the caching of local drafts, so I can blog from the plane…. I can also add photos from the iPhone camera.


Getting the blog sorted

OK, it seems to be coming together now. The header is working: I like the picture of Tommy, and I don’t need any fancy nav features. I had to hand-craft the page links when I changed the default font to a nice serif; for some reason the page nav inherited from the body style rather than the blog title. Mandigo includes some cute features to let you hide or reveal the body text and sidebars; I’m not sure how you’d use them (or know how to use them), so they’re gone. I’ve updated and reactivated some of the standard plugins, including footnotes and Fluency, and I replaced the moribund WP-CC feature with WPLicense, so I’m properly CC-compliant again.
The Shiny New Toy Of The Moment is Nerdaphalia’s Nerdaphernalia’s Pull-Quotes, implemented in Javascript. ((If you don’t know what I’m talking about, check out this Wikipedia article.)) I think that they look really cool; the downside is that the Javascript that implements them runs right at the end of the page rendering. On most blogs that will be just fine, but on my widget-loaded page the load time is already pretty bad. The resulting user experience is that you start reading the page while things are still loading, and suddenly a pull-quote appears in the middle of what you’re reading. What’s happening is that when the pull-quote Javascript finally runs (after all of the Amazon and Google content in the sidebar, and maybe even after the analytics stuff in the footer) it builds the pull-quote, injects it into the DOM for the article, and the browser reflows the text body material around it. Ugh. That’s a good argument for reducing the page weight.
Still to do: replace some of the glyphs and tweak the colours.

Convenient, though a bit garish

If you think you’ve seen this theme before, you probably have. Mandigo is one of the more popular WordPress themes out there. I have mixed feelings about it. On the one hand, it’s incredibly flexible and reconfigurable: the theme-specific control panel seems to go on for ever. On the other hand, the colours (there are seven to choose from) are all a bit garish, and the various glyphs and icons are much more intrusive than I like. So I’ll play with it a bit: come up with my own title image, and maybe tone down some of the visuals.
One feature of Mandigo that I really like (and which ought to be part of the base WordPress system) is that you can define your custom header and footer code and Mandigo will inject it where appropriate. This keeps the base theme PHP files uncluttered. One of the things that I had to remember to do whenever I installed a new theme was to cut the Google Analytics and Amazon Associates Javascript from the footer of my present theme and paste it into the new one. Usually this is obvious (it goes in footer.php), but some theme designers skip this file, and simply include calls to the WP footer function in various places. Mandigo gets this right.
I still wish that I knew what was broken in the Breaking News theme. Everything seemed to be working except for single post display. Moreover the failure mode was hard to debug: the WP engine just failed to respond. Since it was an out-of-the-box failure, I’m guessing that it was a subtle incompatibility with WP 2.6. Breaking News is one of those themes that I mentioned above, where the designer refactors things in a way that diverges quite a bit from the standard WP patterns. This approach is always liable to expose some unexpected (or unintended) dependency.
UPDATE: That’s better – a clip from my favourite picture of Tommy makes a nice header.

And now for something completely different

OK, I couldn’t resist this theme. It’s called “Breaking News”, and it’s from an Italian company called ShinRa House. It looks like a three column design, and it’s tagged as such in the Theme Viewer, but in fact there’s only one widget-enabled sidebar. The left and middle columns are used for blog postings; I’ve configured it to show three in the first and four in the second.
Now I need to create a nice halftone rotogravure-style picture of me, just like a real newspaper
UPDATE: Well, that didn’t work very well. There was an obscure bug that I couldn’t fix. (Maybe a 2.6 incompatibility.) I’ll revert to a familiar theme for now.

New theme, new experimental content

As you can see (unless you’re viewing this through the RSS/Atom feed), I’ve changed the theme and added a bunch of Amazon Associates widgets to the right-hand sidebar. The theme is OK, not great, but pretty clean. From my point of view, its delightfully simple – perhaps half the size of the previous one, measured in lines of code. The original was in German, though, so I had to go through translating the text into English. Please let me know if I missed anything.
As for the Associates widgets: yes, I know that they add to the page load time. Most people wouldn’t use so many relatively heavyweight widgets. (I’m just using three right now, but you can expect to see the number, and the selection, change.) On the other hand, this does highlight any latency and rendering issues. Is it better to get a simple frame and header in place before starting any of the content, or should we do most of the heavy lifting on the server side?
The most interesting widget should be the first, Page Recommender, because the content is based on the viewer’s history. I have no idea what you are seeing in this widget; what I see is based on my own history. And it’s going to take a while for the widget to build up a history of page views on my site. It may well be the case that my kind of blog is simply the wrong kind of site for this widget. If most people simply read the current entries via the base URL, and don’t check the comments or older postings, there may not be enough intra-site traffic for the widget to work with. In that case you’ll probably see nothing but product links.
These are not the only off-site widgets that I use, by the way. The other obvious example is the Shared Items from Google Reader. I read most of my daily web content (154 feeds!) through Google’s RSS aggregation, and I tag as “Shared” various items that I think my audience might like to read. These show up in the sidebar widget, under the (presumptuous!) heading “Items from other blogs that you should be reading”. This is really convenient for me, but it doesn’t generate blog content in the same way that, say, a “Links of the day” posting does. In fact, I suspect that the crawlers don’t index content from this kind of widget, so I’m not really helping myself or the items I’m recommending.
Perhaps I need to switch to using, which is how I presume Adriana is generating her “Links” postings, but it will mean finding an alternative RSS reader: one that has built-in support. (And it must work on the iPhone. I read a lot of my RSS feeds whenever I have a few moments: on the shuttle bus between Amazon buildings, standing in line at Starbucks, waiting for a soccer game to start at Qwest field….)