Monthly Archives: June 2010

Optimize Legibility (Safari Extension)


View All My Safari Extensions

John Gruber linked to an article about the text-rendering:optimizeLegibility CSS property today and as he said, news to me. I’ve built a quick Safari extension to enable it by default in Safari (Firefox already does this). So, without further ado:

Optimize Legibility is a simple Safari extension that injects a single CSS attribute (text-rendering:optimizeLegibility) into every page. This will improve kerning and ligatures in text.

Download it or view the (trivial) source at Github.

Update: 1.0.2 adds an icon and reverts the CSS to matching body rather than wildcard. Should improve performance (although it won’t be noticeably faster on any modern machine).

CDN Tools 1.0 Released

After a long delay I’m proud to announce the release of CDN Tools 1.0. This a major release that requires you to reload all your sideloaded files. Do not upgrade to 1.0 from 0.99 unless you’re ready to reload everything!

New Features:

  • WP 3.0 compatibility1
  • Changed method of storing info about sideloaded files to be far more robust.
  • Use directory structure on Cloud Files (uses just one container now)
  • Now CDNifies post thumbnails as well (WP 2.9+ feature)
  • Fix for blogs using SSL
  • Caches credentials for more rapid initial loads/multiple media attach uploads.
  • You can now define constants in wp-config for plugin configuration. This allows to configure settings that will be active on all end-user sites without allowing them to see/edit the config. If you define constants the CDN Tools admin page will not register a configuration page.

Head over to my CDN Tools page to learn more or go to wordpress.org to download it now.

  1. 0.99 probably works with 3.0 as well

Incommunicado

I apologize for any slow response you may receive to emails you send to me. Im currently traveling with only intermittent internet access. I promise Ill catch up as soon as I can when Im back in the states!

Localizing Safari 5 Extensions

Update: If you’re a registered developer you can check this thread for more information. The gist is that settings strings are not localizable at this time. I’ve filed a bug 8105949 against it (I recommend everyone report one as well if they want this fixed).

I’ve gotten a great deal of requests to localize my Safari extensions into various languages. Unfortunately, Apple hasn’t released any documentation on whether or not the Info.plist data can be localized.

In normal Mac OS X applications you can define key/value pairs using a Language.lproj directory with an InfoPlist.strings file. OS X then automatically uses the translated strings based on the primary language. As this seemed a likely candidate for i18n support, I’ve been experimenting with this for the past day or two…without success. So now I’m pleading with you, the internet! Is there a way to do i18n in extensions? Or will we need to wait for Safari 5.x to add this (critical) feature?

Updraft – A Cloud Backup and Restore Plugin For WordPress

Over the past several months I have been working hard on a new plugin for WordPress and now I am pleased to unveil the initial release.

Updraft is a backup and restore plugin for WordPress. It can do scheduled or one time backups of your plugins, themes, uploads, and DB itself. These backups can be kept locally, emailed, sent to an FTP server, uploaded to Rackspace Cloud Files, or transferred to Amazon S3.1

Additionally, you can pick the number of backups to retain and restore from a backup of your choice either by using a local backup, uploading copies yourself, or pulling them down from your cloud service.2

Visit the Updraft homepage to learn more, see a screencast, and give feedback on bugs or features you’d like to see. I look forward to hearing from you!

  1. Updraft requires WordPress 3.0 or greater!
  2. At this time restoration does not encompass DB. You will need to download and restore the DB via another tool. I am actively looking for ways to work around this issue for a future release.

Fixing GrowlMail in 10.6.4 (Mail 4.3)

Update 2: Fix for 10.6.7 and Mail 4.5
Update: Fix for 10.6.5 and Mail 4.4

Another OS X release, another broken GrowlMail bundle. I did a post just like this for 10.6.2. Check it out if you want more background on why this occurs.

Easy Fix

Download a pre-patched GrowlMail.bundle and drop it in your ~/Library/Mail/Bundles/ directory1. If you want it available to multiple users on your system, use /Library/Mail/Bundles/.

Download patched bundle

If you use this method you’re all set; no need to use the command line solution below.

Add New UUIDs to SupportedPluginCompatibilityUUIDs

If you have already had your plugins disabled by opening Mail.app you’ll need to look in ~/Library/Mail (or /Library/Mail if you installed globally) and move the files back to the active bundles directory. They’ll typically be in Bundles (Disabled), so quit Mail, find them, and move them back into the proper directory.

If you have a local installation:

defaults write ~/Library/Mail/Bundles/GrowlMail.mailbundle/Contents/Info SupportedPluginCompatibilityUUIDs -array-add "E71BD599-351A-42C5-9B63-EA5C47F7CE8E"
defaults write ~/Library/Mail/Bundles/GrowlMail.mailbundle/Contents/Info SupportedPluginCompatibilityUUIDs -array-add "B842F7D0-4D81-4DDF-A672-129CA5B32D57"

Global installation:

defaults write /Library/Mail/Bundles/GrowlMail.mailbundle/Contents/Info SupportedPluginCompatibilityUUIDs -array-add "E71BD599-351A-42C5-9B63-EA5C47F7CE8E"
defaults write /Library/Mail/Bundles/GrowlMail.mailbundle/Contents/Info SupportedPluginCompatibilityUUIDs -array-add "B842F7D0-4D81-4DDF-A672-129CA5B32D57"
  1. ~ means your home directory if you’re unfamiliar with the syntax. You can click the home icon on your Finder sidebar if you’re still confused