Generating HTML from Markdown with Pandoc

I'm writing more and more things that are not code these days, and my content-managing toolchains are becoming more developed all the time. I've written in REstructured Text, Asciidoc, and LaTeX, and today I'm working on an article which eventually wants to be HTML but I'm creating in Markdown because it's much easier.

My swiss army knife of document formats is a program called pandoc. It's absolutely fabulous, powerful, and not too complicated if you don't need to do anything too complicated. It will guess input and output formats from file extensions, or you can be more specific if you need to. Today's command looks like this:

pandoc -o article.html

You won't be surprised to hear that this command takes a file called which contains my markdown, and outputs a file called article.html containing the HTML. I also use this to convert between all the various text markups, HTML, but also PDF and office document formats - it's a very comprehensive tool!

How To Write 800 Blog Posts

This is the 800th published post on It's my personal blog and I started it in early 2006, when I moved to a new city with no job. I think I got the blogging bug just because I had nobody else to talk to at the time! Over the years the blog has recorded recipes, craft projects, the story of buying and refurbishing the house (a decision that a previous employer described as "brave") - and of course the vast swathes of technical snippets that are the regular content you see here.
Continue reading

A Book Burndown Chart

You might have noticed that things have been a bit quiet around here lately ... that's because I'm writing a book and doing a lot of editing at the moment. I love doing both of these as part of my work, but it turns out that when you're already writing/editing 3k words a day, it's hard to find more words to blog with (well, and I usually blog whatever code I'm writing which isn't a whole lot right now). I did however want to share with you the news that I'm working on a book (about PHP, for the lovely Sitepoint).

I'm completely new to book-writing and it felt like a mountain to climb. I have five chapters of around 8 thousand words each to write for the book (I have co-authors, who are also lovely), and the general advice I got was to just take it all one step at a time. This sounds a lot like the way I teach project management and time management to developers, so I used those same skills and created a burndown chart (I blogged about creating these before):

As you can see, there have been some great days, and some quieter days. The flat lines are mostly weekends or days where I was out of the office with other clients. Although I feel slightly overwhelmed (and this doesn't show the edits that come back after I submit each chapter), the graph is at least going in the right direction!

Make Blogging Your New Years Resolution

Do you have a New Year's Resolution? Is it to blog (or blog more often)? If so, keep reading!

I'm coming up to my 5th anniversary of blogging and looking at my stats, I've written around 150 posts per year for most of that time, although in 2010 I "only" wrote 102 posts, possibly because one or two other things happened in my life. So many people tell me they want to blog, or they have a blog but can't find the time to write, that I thought I'd try to give some pointers for those resolving to blog this New Year.

Continue reading

Advice To Another Blogger

Recently I was approached by a friend of mine looking to start his own technical blog. I've been blogging here for some years, and he wrote to ask my advice. I replied to him, but thought that the ideas could be useful to others in the same position, so here's that email, published here for anyone else who wants to see it:
Continue reading

Geeks Can Write

A couple of weeks ago I gave a lightning talk at the PHPNW user group entitled "Geeks Can Write" or "Can Geeks Write?" - basically shooting down the worst of the excuses for not writing that I've heard and asking everyone to give it a shot! If you are interested, then the slides are on slideshare. Happy writing :)

Magic Methods on Think Vitamin

I'm happy to announce that my new post 9 Magic Methods for PHP is live on Think Vitamin this morning. I've written a series of posts about OOP for the site, with a few more to come, and these "underscore-underscore" methods make for some very neat tricks with PHP, which I've tried to show in the post. Hope you like it :)

OOP Articles on Think Vitamin

I've been working on a series of articles for Think Vitamin, the Carsonified blog, about OOP in PHP5. In fact I'm wildly excited about this, partly because I love to write and partly because its such a cool site to write for! The first two installments are now live:

  • Getting Started with OOP PHP5 - which is a very gentle overview of why OOP is such a buzz word, and shows off some very simple examples on how to begin and what the terms mean
  • Getting Started with OOP PHP5: Part 2 - a follow on post showing constructors, static properties and methods, and also looks at how PHP handles objects.

None of it is rocket science but these are important topics often skated over by writers wanting to get to the complicated bits! Hopefully these posts bridge the gap between the very dated introductory PHP content that is still lying around on the web and the tutorials about shiny new stuff that are more typically found elsewhere. The community over on Think Vitamin is great, the comments and retweets have been very constructive and I'm very excited to be involved.


I find I'm writing for a few outlets other than just my blog these days and often want to refer people to that content as well, so I've added a "Publications" page, linked from the left hand sidebar. This will keep up with the articles I'm posting elsewhere, interviews, and anything else along those lines, all in one place.