Podcasting Guide

PoducateMe has created a comprehensive guide to podcasting that covers planning, equipment, recording, editing, hosting, feeds, etc. I think it’s just the right depth of information to get started with; it touches on all the major topics and gives some practical recommendations, but doesn’t overwhelm you with too much information. Update: The Reel Reviews podcast […]

Continue reading...

Unit Testing WordPress Plugins

Nikolay Bachiyski gave a good talk at this year’s WordCamp San Francisco about unit testing WordPress plugins. His method uses PHPUnit, which is an additional PEAR package you have to install on the server. You can then use MockPress to simulate WordPress in the tests. Another option is the SimpleTest for WordPress plugin, which uses SimpleTest […]

Continue reading...

The Internet Was Built on Open Principles

“The Web evolved into a powerful, ubiquitous tool because it was built on egalitarian principles… If we want to track what government is doing, see what companies are doing, understand the true state of the planet, find a cure for Alzheimer’s disease, not to mention easily share our photos with our friends, we the public, the […]

Continue reading...

A Primer on Responsive Web Design

Ben Callahan from Sparkbox shared some good links on responsive web design recently, one of them being this introduction to the subject from A List Apart. One of the things that struck me from the article was that “[mobile] browsing is expected to outpace desktop-based access within three to five years.” Another link to Smashing Magazine was a […]

Continue reading...

Performance Improvements for Dedicated WordPress Servers

Mark Maunder benchmarked several performance tuning measures with a WordPress installation on a VPS server to show which are most effective. The biggest improvements were from installing PHP-APC, setting up Nginx to proxy concurrent connections for Apache, and using MySQL’s query cache.

Patent Trolling

NPR has a really good article on the absurd state of patents in the U.S. ” ‘We’re at a point in the state of intellectual property where existing patents probably cover every behavior that’s happening on the Internet or our mobile phones today,’ says Chris Sacca, the venture capitalist. ‘[T]he average Silicon Valley start-up or […]

Continue reading...

Passing Multi-Dimensional Arrays from WordPress to JavaScript

On its own wp_localize_script() can’t handle multi-dimensional arrays, but you can get around that by encoding the child arrays in JSON. That doesn’t handle HTML content very well, though, so another way to do it is to use the l10n_print_after parameter. That’s kind of ugly, but it seems like the best way available right now. It […]

Continue reading...

Tweaking Apache Settings for VPSs

Apache’s default settings assume it’s running under a dedicated box with at least 2GB of RAM, so they don’t perform very well in a VPS that may only have 500MB. I recently made some tweaks to several VPS’s that reduced memory usage by 300-400MB without degrading performance. Apache Performance Tuning is a good article that […]

Continue reading...

Creating an OpenVZ Template From an Existing VPS

I recently setup a VPS on a new OpenVZ node and wanted to use it as a template for future VPS’s created on that node.  The instructions in the wiki are actually overkill for this situation; here’s all I had to do: vzctl stop [vps id] Create /tmp/vz-template-exclude.txt and add these lines to it: .bash_history […]

Continue reading...

Conditionally Loading JavaScript and CSS in WordPress Plugins

Update 1/2/2013: As of WordPress 3.3, it’s now possible to call wp_enqueue_script() directly inside a shortcode callback, and the JavaScript file will be called within the document’s footer. That’s technically possible for CSS files as well, but should be considered a bad practice because outputting CSS outside the <head> tag violates W3C specs, can case FOUC, and may […]

Continue reading...

The Necessity of Contracts

Mike Monteiro and Gabe Levine gave a great presentation for Creative Mornings on the necessity of contracts when doing client work. I never really liked using them because 95% of projects go smoothly and it seems kind of impersonal, but after a recent experience and talking to other developers, I’m beginning to see the need for them, and […]

Continue reading...

admin-ajax.php Response Fails When Called from Domain Alias

I’m writing a WordPress plugin that uses AJAX and I had everything setup and working fine for awhile. I came back to the code a few hours later and all of the sudden I was getting a failed response, even though the code hadn’t changed. I got the correct JSON response when I loaded the […]

Continue reading...

What Really Makes a Password Strong?

Bob Yexley turned me on to passphrases a few years ago when he linked to what became a seminal article on the topic by Robert Hensing. The argument is that passphrases — random words strung together to form a phrase, e.g., monkey stars hatchback questioning — are both more secure and easier to remember than what are […]

Continue reading...