• Cast and crew credits for Newrepublic.com

    I’m extremely pleased to announce that Alley Interactive’s latest major project – a full rebuild of The New Republic‘s site to incorporate a brilliant design by Hard Candy Shell – launched on Sunday.

  • Large custom WordPress content migrations

    WordPress natively handles a number of different content migrations from various platforms. However, these will not work for all organizations either due to custom requirements for data transformation or because the data is being migrated from a non-supported or proprietary system. In these instances, writing a custom script is unavoidable. Furthermore, as WordPress becomes widely…

  • Local Nginx config which supports WordPress, Drupal, and Dynamic Domains

    I recently upgraded my laptop to the current top-spec MacBook Air, which has been a big improvement. I took the opportunity to reconfigure my local web server, and came up with a configuration that has already saved me quite a bit of time, since I touch so many projects that come through our company. This…

  • In progress section of a kanban board

    Alley’s Redmine task board

    At Alley, we use Kanban to manage software development. (For more on exactly what Kanban is and how we use it at Alley, check out this post.) However, we quickly realized that Kanban at Alley was going to be fairly complicated to implement so we built a plugin for Redmine, our project management system. This plugin,…

  • How we use Kanban at Alley

    Kanban is a software development methodology which is all about limiting work in progress (WIP) items in an attempt to: Increase predictability of delivery of these items. Improve the quality of the ‘stuff’ being delivered. Enable developers to return to the sanity of a 40 hour work week.

  • Running a subversion repository inside a Git repository

    It’s possible to run a Subversion repository inside a Git repository, and desirable in one particular case for us. WordPress VIP uses SVN to manage deployments, and we use Git to collaborate on projects internally. We don’t push our work to VIP until it’s ready to deploy, but we need multiple people to be able to commit…

  • Creating an SSH Tunnel for Fabric

    Our Django production server doesn’t accept SSH connections from any but a handful of hosts—just our office and a couple of bastion machines. For many applications, we install deploy scripts on bastion hosts, but we wanted to get Django deployment right as well as honor the original intent of Fabric without sacrificing security.

  • New World time tracking vs. Old World accounting

    I don’t think anyone running a web development shop (or any human-scale business) really relishes dealing with billing, banking and accounting—unless you’re like me and you derive an occasional, zen-like satisfaction from it like you might from washing dishes or cleaning your apartment. However, if you want to run a business that makes money, keeps…