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).
Estelle Weyl on CSS3 At WCSF
I’ve long been a fan of CSS3, but Estelle Weyl‘s WordCamp SF talk on it charged me up again. Her slides are not to be missed.
An Interesting Insight Into Mobile Safari On iOS
A post in a Y Combinator discussion thread: Mobile Safari parses websites as a big canvas and then pretends the screen is a window through which you’re looking at the canvas. What you think of as scrolling, the browser thinks of as moving the canvas around (or the window depending on point of view). Because […] » about 100 words
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
DoubleHappy Game Creator
DoubleHappy, by Instinct, the same folks who make the GetShopped ecommerce plugin for WordPress, is an interesting game creation tool. All the game elements are stored in WordPress using custom post types and other advanced features, but it was their demo of the HTML5 editor that most amazed me. The games still play in Adobe […] » about 100 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.”
Social Compass
It looks gorgeous, but the points and bearings Brian Solis lays out in his Social Compass seem so obvious to me that I almost dismissed it as meaningless. Then I remembered there really are people who don’t know the message they’re trying to send will be filtered through people and technologies they can’t control and […] » about 100 words
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
Wijax Widget Lazy Loader
Idea: A simple way to improve load-time performance by lazy loading some of the content on the page. Answer: Wijax. The more content in the initial download of the page, the longer readers have to wait to see it. Some content is critical to each page load, but why make people wait for every last […] » about 300 words
Net Render Your IE Compatibility Tests
Geotek‘s NetRenderer makes it possible for me to see how badly old versions of IE are mangling my web pages without actually having to run the malware on a box of my own. Unfortunately, the IE8 rendered returns errors and hasn’t worked in a while. » about 100 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
iPhone Camera Details
I have to look this stuff up every time I play with Hugin, the open source panorama stitcher. Thankfully I can find it at Falk Lumo.com: Pixel pitch: 1.75 µm Sensor size: 4.54 x 3.39 mm^2, 5.67 mm diagonal Aspect ratio: 4.02:3 Focal length and aperture: 3.85 mm f/2.8 lens 35mm equivalent crop factor: 7.64 Equivalent […] » about 200 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
Facebook iPhone App Is Happy To Suck In Your Contacts
I discovered a Sync button in the Facebook app for iPhone today: Then I read the privacy notice: » about 100 words
Clearing The Browser Cache On iPad
Apple’s knowledge base article on it could be as simple as the following screenshot: Instead, the docs say something like: go to Settings, click the Safari tab, click the big clear cache button, duh. » about 100 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
Better XML/JSON Display In Safari
I’m one of the few people who loves Safari, but I was happy to admit that it didn’t display XML or JSON very well. Marc Liyanage’s XML View Plugin fixes that.