• Ad blockers and the myth of “good UX”

    Consider a hammer. You don’t have to think about where to hold it or which part is supposed to strike the nail. It’s not a perfect device — you might still whack your thumb — but it’s pretty intuitive.

  • Introduction to building frontend applications with Redux and Angular

    In a complex application, many components will need to manage both data access and internal state. Where it really gets tricky is when we need to know something about components that are nested in the tree or data needs to persist across components or states. For example, we may want to make our router aware…

  • The IRC vs. Slack Showdown Matters Less Than Your Culture

    A few months ago, this Hacker News item sparked a lively and—fittingly, for a discussion about this topic—asynchronous discussion about the role of group chat systems in open source projects and distributed companies. At Alley, we use Slack. We’re very happy with it, and it’s a really important venue for expressing our company culture. However, I should…

  • The developer hunt: Recap from ONA14

    Alley Interactive was at the Online News Association’s 2014 conference (ONA14)  this year — the premier gathering of digital journalists shaping the future of media. We were the only agency sponsor among a lineup of large companies, startups and universities on The Midway. Director of Product Development, Josh Kadis, took to the Bullring on The Midway to discuss how Alley Interactive has worked to build and…

  • 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…