Building an invoice-focused business

Moving into the fourth week of full-time work on a new business I am concerned at how easily distractions can creep into my day and pull me away from my work. Until now I have forced myself to do a quick evaluation by asking myself the following question: “Does this task bring me closer to writing an invoice for a new client?” If the answer is no, then I stop and move to a task that does.

Focusing on the invoice is not the goal per se ‐ improving the site and the product for an end user is going to get you closer to something your clients will happily pull out their cheque books for. The money is a simple proxy for measuring the impact of improvements on the users of the site and by extension my customers.

My email gotcha

tldr; – If Postmark emails are not sending on a new server, make sure curl is installed & active. If this little post spares someone else the 30 minutes of stress I went through trying to figure this out then I am happy.

This morning I discovered enquiry emails from our website were not getting through to recipients. As a property listing website this is bread and butter stuff that cannot be broken. First thing I did was walk through the email sending process to track down where the problem might be.

We use Postmark for sending transactional emails and its fantastic. From our development server we’ve had zero issues sending through the Postmark API (making use of the also-fantastic Codeigniter Postmark Library)

The Postmark API was never receiving the api request from our server backend so a bit of digging reveals a curl call within php that wasn’t getting run. A quick check of a phpinfo(); page showed me the live server did not have a curl module installed. Fingers crossed its as simple as this.

A helpful blog post on how to install curl for php on ubuntu and I was on my way again. Let the emails (re)commence.

MAMP and Virtual hosts on Mac OS

I’ve just spent a few hours setting up a new local development environment for development and thought I would write down the steps both for my own reference and hopefully for the benefit of others using MAMP.

Development Environment

We are using a Mac OS X environment for development. Basically all our projects are under version control (SVN) and we use MAMP to get the basic web development stack up and running with as little drama as possible. We use the command-line or svnX for SVN and Textmate for code. It’s relatively problem-free to setup and most importantly gets out of our way so we can get on with real work rather than faffing about with configurations and Yak shaving.

Multiple Projects under MAMP

Often we’ve got multiple projects underway and while MAMP is great out of the box for a single site, shutting down and restarting it with a new DocumentRoot was not a satisfactory solution for switching between projects, not to mention embarrassingly low-tech.
Continue reading