Dispatches

The Reward For Re-Discovering Archive Collections

Documentarians spend most of their time digging up materials that few people know exist. They frequent basements and dark storage rooms, endure conversations with crazy collectors, and typically develop vitamin-d deficiency and light sensitivity in search of what they need.

Their reward for finding the material? A bill from the original creators (the ones who lost and forgot about the work in the first place) for the privilege of using it.

Ars Technica reports a story about filmmaker David Hoffman who had to pay $320,000 for materials used in a film about Sputnik hysteria that swept the US in the 1950s. Unfortunately, the best The History Channel would pay for the entire film is $200,000.

Spell Checking

Matt demanded accent-aware spell checking for the WordPress spell checking plugin his company acquired earlier this year. And just a little more than a month later, After the Deadline delivered. Now Beyoncé, café, coöperate, and even my resumé look prettier.

Separately, Wordnik offers a new take on online dictionaries, and they just launched an API.

Yelp: A Poster Child For Semantic Markup

Search Engine Land.com:

Yelp…is…essentially a poster-child for semantic markup. This spring, Google’s introduction of rich snippets has allowed Yelp’s listings in the SERPs to stand out more, attracting consumers to click more due to the “bling” decorating the listings in the form of the star ratings.

There are now some very good reasons why sites with ratings and reviews should be adopting microformats, and it’s not that hard to do! For a more detailed explanation, read my recap on the subject, Why Use Microformats?

Evil Evil klaomta.com

A quick Google search of klaomta.com reveals more than a few people wondering why it’s iframed on their websites. The answer is that the site has been compromised.

Unfortunately for the fellow who asked me the question at WordCamp, solving the problem can be a bit of a chore. Keeping your WordPress installation up to date is important, as there are some known security flaws in older versions, but most of the attacks that crackers use are targeted elsewhere. Your passwords, all your server apps, the PHP config, your hosting control panel, and other users all must go under the microscope when trying to find security holes.

The WordPress Way

Plugin Development

Will Norris‘ talk at WordCamp PDX introduces WordPress coding standards, common functions, and constants to would be plugin developers (and smacks those who’ve already done it wrong). Also notable: functions, classes, variables, and constants in the WordPress trunk.

Custom Installations

Just as WordPress has a number of hooks and filters that plugins can use to modify and extend behavior, it also has a cool way to customize the installation process.

Extending The WYSIWYG Editor

TinyMCE, the WYSIWYG editor in WordPress has a rich API to allow adding buttons and stuff, but the docs are hard to get into. We can get a jump on that by looking at how it’s implemented in other WP plugins. This code creates the buttons, while the function that responds to the button click and does the work is defined within the plugin. The TinyMCE plugins in core are also informative.

JSNES: JavaScript Nintendo Emulator

Ben Fisherman’s JSNES runs entirely in the browser using nothing more intrusive than JavaScript. It apparently manages real-time performance within Chrome, but it works (if not playably) on an iPhone. I wish the screen was resizable and that it supported iPhone compatible controls, but both of those assume that browser performance will improve enough to […] » about 100 words

Is MySQL 5.1 Ready?

MySQL 5.1 hasn’t gotten a lot of love, but it does introduce support for pluggable storage engines. And that’s required to use SphinxSE. Sphinx is a fast full text search engine. It doesn’t need to run as a MySQL storage engine to work, but doing that allows joining against other MySQL tables. So while I’m watching the future of MySQL alternatives, I’m also watching 5.1 bug fixes and playing with the CoolStack-packaged 5.1 on a friend’s box.

The Difference Between MySQL’s utf8_unicode_ci and. utf8_general_ci Collations

MySQL answer: utf8_unicode_ci vs. utf8_general_ci.

Collation controls sorting behavior. Unicode rationalizes the character set, but doesn’t, on it’s own, rationalize sorting behavior for all the various languages it supports. utf8_general_ci (ci = case insensitive) is apparently a bit faster, but sloppier, and only appropriate for English language data sets.

ExpanDrive FTP/SFTP/Amazon S3 Client

ExpanDrive makes FTP, SFTP, and Amazon S3 connectivity dead easy.

ExpanDrive acts just like a USB drive plugged into your Mac. Open, edit, and save files to remote computers from within your favorite programs—even when they are on a server half a world away. ExpanDrive enhances every single application on your computer by transparently connecting it to remote data.

PHP Magic Constants: __LINE__, __FILE__, __DIR__, __FUNCTION__, __CLASS__, __METHOD__, and __NAMESPACE__

I’ve been using __FILE__ for years, but I never thought to look for its siblings.

echo ' line:'. __LINE__ .' file:'. __FILE__ .' directory:'. __DIR__ .' function:'. __FUNCTION__ .' class:'. __CLASS__ .' method:'. __METHOD__ .' namespace:'. __NAMESPACE__;

I feel as though I should have noticed these earlier; they’re clearly referenced in the docs for debug_backtrace(), after all.