• Simple CSS/JS Concatenation and Versioning with PHP

    Here’s a quick and easy way way to concatenate stylesheets and JavaScript using PHP. I’ll also show how to layer on file versioning so you can use far future expires headers for optimal client side caching. There are many ways to combine files to reduce HTTP requests–you can use a build tool to prepare static […]

  • Watch and Compile LESS From the Command Line

    Unlike SASS and Stylus, the command line compiler that comes with LESS does not include a watch option to automatically compile LESS files whenever changes are made. There are several GUI apps that provide watch functionality but if GUIs aren’t your thing or if you need something that can run on a server, you’ll want a way […]

  • Responsive Ad Demos

    My previous post was about some of the business challenges surrounding responsive design and advertising. I wrote it just after reading Mark Boulton’s excellent Responsive Advertising, which was written earlier this week and which you should definitely read if you haven’t already. While I still think the business challenges are the greater obstacle, the technical […]

  • Responsive Design and Advertising

    A few days ago Mark Boulton posted a tweet wondering why more people haven’t written about the conflict between responsive design and advertising. Having struggled with this problem in the past and having just last week abandoned a responsive approach for an ad-heavy site, I was happy to see attention being brought to the issue. Mark […]

  • Photoshop Grid Templates

    For the last year or two, much of the discussion about grids in web design has focused on CSS frameworks for building flexible/responsive grids. And for good reason — designers are excited about responsive design and CSS is the overlord of page layout on the web. A large number of great projects have resulted. Too […]

  • Designing the Well-Tempered Web

    Update 2/5/12: Check out an expanded version of this article that I wrote for Smashing Magazine In 1722, JS Bach put together a book of solo keyboard works intended as a collection of educational pieces for young musicians. The book contained 48 pieces — a prelude and fugue in every major and minor key. Now a […]

  • Essential Web Tools for Online Editors

    There are two ideas I’d like to share concerning the workflows of editors who manage online content. The first is that there is a core set of web-based tools that combine to form a dashboard (a sort of mission control center) around which a daily workflow can be centered. The second is that these tools […]

  • Getting JSON out of Google Spreadsheets

    One of the nice features in Google Spreadsheets is the option to publish your data in various formats, including HTML, CSV, PDF, and XML. You’ll notice that list does not include everyone’s favorite, JSON. But it turns out that even though JSON is not included as one of the publish options there is a JSON […]

  • Script downloading in Chrome

    Yesterday I was testing the performance penalty of loading jQuery in the head element when I noticed something unexpected happening in Chrome. It appeared that having an external JavaScript reference in the head caused all the external JavaScript on the page to be loaded before the elements in the body. Compare these two test pages […]