Saturday, 21 March 2015

Writing: Coders Causing Conflict

My latest Becoming a Better Programmer column is published in the March issue of C Vu magazine (27.1). It's called Coders Causing Conflict and investigates how "conflict" can be a driving force for good in software development. It's quite an interesting topic, and one worth thinking about.

I realise that I failed to announce my previous few C Vu columns here. So, as a recap:
  • In January (C Vu 26.6) I published Advice for the Young at Heart, considering how to give career advice to new programmers.
  • In November 2014 (C Vu 26.5) I published Playing by the Rules which looks at developing "tribal rules" for your development team to help it work most effectively.

C Vu is a magazine produced by the ACCU - an excellent organisation for programmers. It has a great community, great publications, and an awesome conference. Check it out.

Saturday, 8 November 2014

Writing: Becoming a Better Programmer

It's finally here!

My new book, Becoming a Better Programmer, is fully edited, laid out, and is now available as a final product for your reading pleasure, published by O'Reilly. You can purchase it in printed form or as a digital version for your e-reader of choice.

Find out more about the book from the O'Reilly product page. You can view the full table of contents there. Or head over to Amazon to purchase. If you are a Safari subscriber, you can read it here. Grab your iBook here.

The cover image is a flying fish. I'll leave it to your imagination to work out the significance.

It's great to finally see this labour of love come to fruition, and I do hope that stands as a useful resource for programmers today.

One of my favourite parts of the book is a family in-joke in the "advance praise" at the front. Nestled amongst the luminaries and expert programmers who graciously contributed their honest thoughts on the book is another very honest opinion:

Saturday, 20 September 2014

Writing: Testing Times

My latest Becoming a Better Programmer column is published in the September issue of C Vu magazine (26.4). It called Testing Times and surveys the world of developer testing, covering the what, why, and how of programmer-driven testing. We look at feedback loops, TDD, unit testing, integration testing, system testing and more.

C Vu is a magazine produced by the ACCU - an excellent organisation for programmers. It has a great community, great publications, and an awesome conference. Check it out.

Meanwhile, my book: Becoming a Better Programmer, is nearing print. It's gone through tech review, copy edit, and layout is almost complete. You can still access the early release at

Thursday, 28 August 2014

Really useful Xcode plugins

I'm a happy Xcode user, mainly using it for C++ programming. It's a relatively nice IDE (except for when I need to break out the big guns and fire up Vim for heavy lifting).

There are a few plugins that make it an even nicer IDE.

This is as much a note to myself as anyone else.

One of the plugins that highlights the current cursor line. I have no idea why Xcode still doesn't do this by default.

Fuzzy Autocomplete
Makes autocomplete work on steroids, like the Open Quickly fuzzy matching. Nice.

Puts a wee "mini map" beside your scrollbar. Can be useful if you write insane unnavigable source files. (Hint: aim for code that doesn't need it)

Hides the debugger view as soon as you start typing into the editor. Handy. Saves a common keystroke.

Quite keyboard shortcut for adjust font sizes. Useful as I switch between a retina display and various monitor sizes depending on where I'm working.

CTRL-] and [ navigate up and down by block.

Command + left arrow goes to the first non whitespace character, like any sane editor should.

One i'm just trying out. I find this kind of alignment can help reveal code intent, although it adds extra work to maintain. So let's make the computer do the work. Command-shift-X

Friday, 18 July 2014

Writing: Nothing is Set in Stone

My latest Becoming a Better Programmer column is published in the July issue of CVu magazine (26.3). It called Nothing is Set in Stone. It talks about the soft nature of software, and how to make fearless changes.

Writing: Becoming a Better Programmer

I am delighted to announce that I have signed a contract to publish my latest book, Becoming a Better Programmer with the excellent folks at O'Reilly.

You can find out more about the book from it's catalogue page at

We have now made an early access version available with a number of the chapters. It's already looking excellent, and I can't wait to get the final version out.

Thursday, 10 April 2014

Speaking: Words in Code

The slides from my ACCU 2014 talk, Words in Code, are available on SlideShare, from

Here's the synopsis:

As software developers we do not just write code. We write many, many words too.

We write documentation, comments, manuals, specifications, technical articles, wiki documentation, and more. Maybe even magazine articles and books.

This talk discusses some practicalities of writing well, both stylistically and practically. We'll talk about prose, but also about the right "geek" way of writing, the storage formats, toolchains, and the storage of our words.

We'll cover:
- writing style
- what's appropriate: what to write what not to write
- keeping track: "source control" for words
- toolchains: what toolsets to use to write and prepare output
- markup languages vs "wysiwyg" tools
- sharing your words with non-geeks

At the end of this talk, you'll have a good idea how to put together an example "document toolchain" taking source-controlled words in a humane markup style, and creating high-quality HTML, PDF (fully styled, print-ready) ePub and Kindle output, as well as Word-friendly versions.