Technology

Sara Cannon On Responsive Web Design At WCSF

Sara Cannon‘s talk on responsive web design (resizing the page to suit different client devices) was spot on. Her slides are below, but she also recommends this A List Apart article on the matter, as well as Less Framework and 1140 CSS Grid (especially as alternatives to 960.gs).

AppleScript: Get Every Movie In iTunes

AppleScript can be frustrating, but it’s an easy way to get info out of iTunes. The following is a fragment of a script I’m working on, this part simply gets a record list of every video in the current iTunes window that is a “movie” (the alternatives include music videos and TV shows, among others). […] » about 200 words

Notes To Self: Twitter’s Website Rocks On Mobile Devices

Twitter’s mobile site rocks on my iPhone. Especially worth noting: they’ve figured out how to pin their header to the top while scrolling the content in the middle. They’re also using pushState() and other cool tricks to make the experience feel very native, but the scroll behavior is rare among web apps on iOS. Kent […] » about 200 words

WordPress nocache_headers() vs. Nginx

Typically, you can call WordPress’ nocache_headers() function when you don’t want content to be cached. Typically, but when you’re serving from behind Nginx as a reverse proxy, consideration must be paid.

It’s a year old now, so I shouldn’t have been surprised by it, but this thread on the Nginx forums explains that Cache-Control: private headers are meaningless when Nginx is being used as a reverse proxy:

nginx completely ignores the ‘private’ keyword and will cache your document regardless.

The recommendation is for the upstream app to send an X-Accel-Expires: 0 header.

The easy fix? Add a filter to nocache_headers() that inserts the additional header:

add_action( 'nocache_headers' , 'my_nocache_headers' , 1 );
function my_nocache_headers( $headers )
{
	$headers['X-Accel-Expires'] = 0;
	return $headers;
}

PHPQuery

I have Matthew Batchelder to thank for introducing me to PHPQuery. I haven’t used it yet, but someday I’ll have need to select text elements from HTML using the PHP5 PEAR module. From the description “server-side, chainable, CSS3 selector driven Document Object Model (DOM) API based on jQuery JavaScript Library.”

The Story Of Nukey Poo

The video of Nuclear Boy and his stinky poo that’s supposed to explain Japan’s nuclear crisis isn’t the first time anybody has mixed poo and nuclear reactors. A reactor at Antarctica’s McMurdo Station that operated through the 1960s was nicknamed “nukey poo” because of its poor performance and reliability (though some reports simply point to […] » about 400 words

eBook User’s Bill of Rights

It’s easy to see the eBook User’s Bill of Rights as a sign of the growing rift between libraries and content producers. Easy if you’re me, anyway. It connects very conveniently with Richard Stallman’s open letter to the Boston Public Library decrying what he summarizes as their complicity with DRM and abdication of their responsibilities […] » about 300 words

Saving Backup Space With Time Machine and iPhoto

Three things that, when mixed, can consume a surprising amount of disk space: Backup automatically with Time Machine Use iPhoto and take a lot of photos Sync photos to one or more iOS devices like iPhones and iPads I do all three, and on top of that I have three current computers backing up to […] » about 500 words

WordPress comments_template() and wp_list_comments() Performance

This thread on memory usage while executing WordPress’s comments_template() raised my awareness of performance issues related to displaying comments on posts in WordPress. The first thing to know is that all the comments on a given post are loaded into memory, even if the comments are paged and only a subset will be displayed. Then comments_template() calls update_comment_cache(), […] » about 500 words

GigaOM Mobile Site Launched

This week we launched a new mobile theme at GigaOM.com. It was out for just a day or two before Dennis Bournique surprised us with a review on WAPReview.com. I have no way of knowing if I would have linked to the review if it wasn’t positive, but I would likely have found a way to […] » about 300 words

Helvetic Neue On The Web

CSS Tricks tips “better helvetica.” Guillermo Esteves explains that specifying font names in CSS is really about specifying font families: If you want to use a specific font face, you have to use font-family along with the font-weight property, calling both the PostScript and screen names of that face for backwards compatibility Which, for a […] » about 200 words

About Those Unencumbered Video Formats

The Free Software Foundation tells us the H.264 AVCHD video encoding standard violates the very tenets of freedom, they claim competitors such as VP8/WebM and Ogg Theora are both unencumbered and technically equal to H.264. What they really mean is that software patents are evil. Now the MPEG LA, the body that administers the H.264 patents and […] » about 400 words

WordPress MU/MS Empty Header and Broken Image Bug Fixed

I just switched to a new server and found myself struggling with empty HTTP headers and broken or partial images. The problem is the memcache extension for PHP and WordPress MU/WordPress multisite’s need to reinstantiate the wp-cache after determining the correct blog for a given request.

Versions of the memcache extension prior to 3.0 go wrong somehow and it shows up when you try to do an HTTP HEAD request on a page (the result is empty) or enable X-SendFile support for WP MU/MS’ file handling (all the files and images in the media library will break). Upgrading to the the 3.x version (in beta since 2007) fixes the problem.

You may have to uninstall the old version before installing the beta, and installing the beta via PECL requires adding “-beta” to the package name. Here are the commands:

pecl uninstall memcache
pecl install memcache-beta

Configuring Amazon Linux For Web Services

UPDATED: an updated installation cookbook is available. Amazon has introduced their own distribution of linux with tweaks to optimize it for their Elastic Compute Cloud platform. Like CentOS, it appears to be based on Red Hat Enterprise Linux, though unlike the current versions of RHEL and CentOS, the packaged applications are up to date with […] » about 300 words

Failed Hard Drive Noises

There’s nothing amusing about this list of failed hard drive noises if you’re looking through it for a sound matching what drive on your desk is making (which I am), but I’m sure there’s some good material for the click-hop crowd. Photos by Jon Ross and James Harvey, used under CC license. » about 100 words