Pop: A Static Site Builder

Pop (GitHub: alexyoung / pop, License: MIT, npm: pop) is my attempt at building something largely compatible with Jekyll that satisfies my own requirements.

Highlights:

  • Generates sites quickly
  • Extensible through CommonJS modules
  • Can regenerate a single post as I’m working on it (rather than the entire site)
  • Generates stub posts with sensible defaults
  • Comes complete with helpers for HTML5 articles, feeds, pagination
  • Post summaries

Installation

Installing Pop is easy with npm:

Read More →

Bulletproof Deployment: Put Down the Pickaxe

I have an axe to grind with web app deployment. I’ve never been totally happy with any solution, and almost everything I’ve tried has let me down repeatedly.

This is where a programmer typically sees a problem and creates a project to solve it. And this is where it all starts to go wrong.

The need for scripted deployment comes when a combination of factors makes simply uploading files unworkable. Modern applications depend on a complex environment of libraries, daemons, and database schema management. Scripting this process should make it repeatable.

Read More →

Cargo Cult

I don’t like the term cargo cult.

Calling something a cargo cult isn’t usually intelligent or useful. It says “I know best and I don’t care about your opinions”.

It’s a charge with no proof; a sycophantian shot across the bows of a particular belief or community. The irony of this notion of cargo cults is that the very people using the term are often themselves demonstrably guilty of creating and promoting their own cult followings.

Read More →

We Are The App Store

In the time I’ve been a programmer, I’ve seen Apple gain and lose the respect of developers in a cycle of growing predictability. Apple’s fortunes have arguably followed these trends. Reading John Gruber’s response to Readability's open letter to Apple on Apple’s new subscription policy surprised me to say the least:

Readability needs Apple to publish an app in the App Store. Apple doesn’t need Readability.

Without Readability and innovative small businesses like it, the App Store is nothing. What's an App Store without Apps? A way to sell Apple's over-hyped and underused applications like Pages for iPad?

We are the App Store, and Apple will lose out if they don’t respect that. As a developer of web and iOS applications, taking away my freedom by forcing me to use Apple’s subscription system is unacceptable.

Read More →

Sherlock and Attention to Detail

“And in practice again, I observe.”

I’ve seen a lot of crime dramas over the last few years. As a Sherlock Holmes fan, it’s easy to spot the homages to Conan Doyle’s influential character. One of the qualities espoused by modern TV crime drama is attention to detail. A famous example, and perhaps the origin of this character trope, is Holmes’ beyond–autistic ability to read deductions from mundane facts.

In this scene, Watson is surprised that Holmes knew he had recently been walking through the rain, even though it was days ago:

“It is simplicity itself,” said he; “my eyes tell me that on the inside of your left shoe, just where the firelight strikes it, the leather is scored by six almost parallel cuts. Obviously they have been caused by someone who has very carelessly scraped round the edges of the sole in order to remove crusted mud from it. Hence, you see, my double deduction that you had been out in vile weather, and that you had a particularly malignant boot–slitting specimen of the London slavey. As to your practice, if a gentleman walks into my rooms smelling of iodoform, with a black mark of nitrate of silver upon his right forefinger, and a bulge on the right side of his top–hat to show where he has secreted his stethoscope, I must be dull, indeed, if I do not pronounce him to be an active member of the medical profession.”

“My dear Holmes, this is too much!”

In CSI, Grissom also offers several keen insights that warrant the surprise of his own colleagues. In his line of work, attention to detail isn't just beneficial, it's critical.

Read More →

Wingman: Open Source To-Do List App

I’m a big fan of a certain popular to–do list app for Mac OS. But I’ve stopped using it because I’ve made an open source replacement called Wingman. You can download it and install it on your computer or server. Alternatively, try it out on wingman.heroku.com. I can’t promise you won’t lose data on the Heroku instance, so treat it as a demo version.

It’s built with OpenID, Rails 3, MongoDB, and jQuery UI. The interface closely follows the Mac app that I’ve clearly been inspired by, but has Gmail–style keyboard shortcuts.

Read More →

Rails 3 OpenID with Mongo

I’m working on an open source project that uses Rails 3, MongoDB, Mongoid, and OpenID. I’ve been using ruby-openid, and whilst it has example code it’s not exactly easy to get to grips with.

I’m using OpenID for authentication because I want to create a series of open source projects that use a bunch of interesting technologies like Rails 3 and Node, yet are simple to deploy on cheap hosting services like Heroku or Joyent. I want people to be able to easily install instances of these projects and authenticate without registering, and perhaps have the option of paying to use a commercial deployment that I might run.

Read More →

dConstruct 2010

I attended the dConstruct conference on Friday 3rd September. I’ve never been to one before, but one of my open source and commercial collaborators (@sstarr saw John Gruber on the lineup and demanded we go. I don’t really know much about Gruber, other than he’s an Apple blogger, so my excuse was after party shenanigans.

Marty Neumeier: The Designful Company

Neumeier’s talk was about using design to differentiate companies, products, and further their potential. He highlighted the unexpected way products that test poorly go on to succeed, and gave examples of products that failed because they were different and bad, or succeeded because they were different but good.

Read More →