YUI App Theme

Uncategorized Mar 09, 2009

Tonight I pushed a new project to GitHub called yui-app-theme. It’s a generic, skinnable layout designed for web applications — particularly admin areas — built using YUI Grids. In other words, it’s a starting point. Usually when doing freelance work for clients, unless you’re building on top of an existing CMS like WordPress or MiaCMS, you’ll have to create an…

PHP Wrapper for Yahoo! GeoPlanet

Uncategorized Feb 25, 2009

Earlier this month I wrote a quick PHP wrapper for Yahoo!’s GeoPlanet API. It’s a super useful service for querying geographical information about nearly any place on earth — addresses, landmarks, colloquial locations, etc. Or, as the official description says GeoPlanet helps bridge the gap between the real and virtual worlds by providing an open, permanent, and intelligent infrastructure for…

Serving Static Content on Amazon S3 with s3up

Uncategorized Feb 07, 2009

I’ve written twice about using Amazon S3 to host your website’s static content. It’s a great solution for small websites without access to a real content delivery network. And now that Amazon has launched CloudFront on top of S3, it’s even better. But there are still ways we can improve the performance. The trick is to upload our files using…

Download All of Your Flickr Photos and Sets

Uncategorized Jan 28, 2009

iLife ’09 was released today. And with it came a much improved version of iPhoto with facial recognition, geotagging, and Flickr and Facebook support. With so many new ways to slice and dice my photos, I wanted to start over with a clean slate and get everything organized in iPhoto before re-exporting my library back to Flickr or wherever. Before…

Sync Your Adium Chat Logs With Dropbox

Uncategorized Jan 24, 2009

Here’s a handy trick that will let you sync your Adium chat logs across multiple Macs using Dropbox. From a command line, cd into your Dropbox folder and then That will create a symlink from your Dropbox folder to your Adium log directory. When syncing, Dropbox will follow this link and process your chat logs as if they were stored…

Use Rapache to Manage Virtual Hosts on Ubuntu

Uncategorized Jan 14, 2009

For people who like the idea of VirtualHostX but want to setup virtual hosts on Ubuntu rather than Mac OS X, Stefano Forenza has created the Rapache project. Like VHX, Rapache is a GUI to manage Apache virtual hosts. With just a few clicks you can create a new host and the appropriate DNS settings for local development. Rapache Project

Forward Your Growl Notifications to Twitter

Uncategorized Jan 05, 2009

I’ve got three Macs that I regularly use. One at work, a laptop for personal use, and a Mac Mini connected to our living room TV. I use Growl on all three — it’s so ingrained in my workflow (IM notifications, new emails, background tasks) that I often forget it’s not a part of OS X. Keeping track of notifications…

Amazon S3 Improvements in PHP-AWS

Uncategorized Nov 18, 2008

Two and a half years ago I began working with Amazon Web Services — first with S3 and then SQS and EC2. The code was eventually cleaned up and released as an open source project called PHP-AWS. Since then, it has remained relatively unchanged. Just bug fixes and the occasional support for new AWS features when users contribute patches. It’s…

Parse Command Line Arguments in PHP

Uncategorized Nov 14, 2008

This afternoon I needed an easy way to upload files to Amazon S3 and set specific headers on them. I’ve built one-off scripts like this in the past, but this time I wanted to generalize the problem into a reusable shell command. I pulled in some code from PHP-AWS and got it working fairly quickly. However, I got swamped with…

How to Stream Your iTunes Music Over the Internet

Uncategorized Sep 10, 2008

Update: Want to stream your iTunes music over the internet? Try Highwire! It streams your iTunes library and a whole lot more 🙂 I keep all of my iTunes music stored on a Drobo attached to an Airport at home. This frees up valuable space on my laptop and lets me listen to it via Front Row on my TV…