This is a followup to this post.

About 2 months ago, I successfully installed Crunchbang linux on my old kitchen laptop. Why? Puppy is mostly stable and reliable but its built-in power management is bare bones. It has a scant number of packages built for it. (To wit — getting sshd loaded is not trivial, as it should be) Its screensaver is as basic as they come.

I now that Ubuntu won’t install on this laptop, (and — shocking — it’s below their minimum for their support — something that surprises me) so I heard word about a new ubuntu-derived distro, Crunchbang, that might give me more of what is missing above.

After some installation problems (I had to format the hard disk as ext2 only, ext3 fails) I got CB loaded. And, yes, it is a very pretty UI, and I notice other things as well. The LED status lights on my Buffalo Wireless PCMCIA card now works. I have full access to the ubuntu package repos. I have a full-featured screensaver. I can “sudo apt-get install x” for sshd or whatever contents my heart. Everything is snapping together nicely, until…

I leave the laptop idle and move on to the richer elements in my life. After a couple hours, I hear the hard drive being accessed continually. I click the  mouse button, but the screen is slow to respond — taking a couple of minutes before responding to a mouse click to stop the screensaver. After a couple of days, the pattern became clear — the laptop is spending nearly all of it’s time, after bootup, paging memory. The Crunchbang forum had no corrective suggstions (nor apparent interest). The matter was settled when my wife said; “I don’t know what was on before, but put it back. This is useless.”

And so I have. I’m typing this blog post in Puppy right now.

I’ve noticed that the sites we run on GoDaddy are generally slower than non-GD sites. One site is particularly slow (a nearly unmodified Drupal installation) and I’ve been, ahem, corresponding with GD on the matter. I qualify that as the responses are nearly all boilerplate — you can’t miss the pattern after your third email question to their support staff.

My observation isn’t the result of a carefully controlled, documented, and variables-reduced-to-a-statically-insignificant-minimum, but I’ve run some numbers using Firebug and WebKit’s Resources information page to time downloads of various media-rich pages. GD, in a variety of contexts, is slower, sometimes by a factor of 3.

Rather than mount a carefully detailed report on the matter, I thought of a different tact. Think of the GoDaddy ads — to whom do they appeal? College-aged men, basically. So, if you’re a college-aged male looking for a cheap web site for hosting, you’ve found the right vendor.

Skrinak Creative, however, has removed GoDaddy from our roster of approved web hosting providers. The slow migration away for our existing sites will start shortly.

Update: I received a phone call from GoDaddy, with a satisfactory addressing of this issue. As a result, GoDaddy is on our “probation” vendor list for the next 3 months. I’m glad they’ve addressed the matter, but I’d like to think that customer support escalation doesn’t require a blog post.

Another problem, another plugin? Managing CMS plugins can become its own cost center if you’re not prudent about selection and inclusion. Here is my most recent case in point. I need to add unique meta descriptions to WordPress. I’ve already added unique titles to this site via yet another plugin. So I found this page on adding one manually, which gets you 99% of the way there. He actually gets you all the way, but a tweak to his instructions brings it together. You can read why he established his conditionals like he did at that link — and you should read it. I would have commented the correction to his site but his comments are closed, so here goes.

This code works well for my purposes. This consolidates his two step-through examples, and I’ve brought the php start tag up to the html, otherwise, there’s a newline right after the opening double quote for the description text.

Setup:

  1. Establish a “description” custom field for your pages. (Perhaps your posts, too, I’m not too worried about those for now, since I’m using WP as a CMS, less so a blog.)
  2. Disable any server-side caching, if in use, which should be SOP, right?
  3. Modify your theme’s header.php file with the following in the meta section:
<meta name="description" content="<?php if (is_single() || is_page()) {
        # Single post / page.
        # Use the 'description' custom field.
        echo get_post_meta($post->ID, 'description', true);
    } elseif (is_category()) {
        # Category page.
        # Use category's description
        echo trim(strip_tags(category_description()));
    } else {
        # Default meta description
        # Blog's description
        echo bloginfo('description');
    } ?> " />

I enjoy using fink on mac for maintaining my X11/FLOSS packages. However, there are times when binary or package updates are slow to appear. One example is the most excellent ftp client “lftp.” You can read more on my prior comments on lftp here.

Fink distributes an older version of lftp, 3.6.1-2, and there is a problem with that version and my OS X 10.5. When there’s no activity, my CPU activity spikes — and it’s all lftp. I contacted the maintainer but I received no response, so, I took matters into my own hands — I compiled it myself. I’ve had generally uneven and uninspiring experience compiling code myself, but this went smoothly. I followed the fink instructions and the lftp install instructions and — voila! I now have the latest lftp running. No code tweaks necessary (but fink + XCode is required)

lftp is an awesome ftp client — check it out!

FYI: WordPress has a privacy setting that hides your web site from search engines, say, while you’re setting it up. Makes sense, but I was unaware of this until I saw the meta tag “noindex,nofollow” in one of my customer’s sites. You can review it at Settings > Privacy. Oddly, some of my sites had it disabled (meaning, come search me, google!) and others had it enabled — without my explicitly doing so. Suffice to say they are all “exposed” to crawlers now.

Ironically, the one site where Privacy was “enabled” was the one I had put the most effort into SEO-optimization. Feh!

If you ever use VNC clients on the Mac, check out JollysFastVNC client. Finally, a VNC client that is better than the tightVNC client I’m using (and I still like tightVNC)

Performance Optimization WordPress Plugins by W3 EDGE