Stephen Viles

I’m a software developer and team leader based in Christchurch, New Zealand, using agile development processes and open source frameworks to start delivering and keep delivering.

You can email me at (change # to @) or tweet me at @svilesnz.

I keep links at

My LinkedIn profile has my full résumé.

I don’t have a Facebook account, although other people named Stephen Viles do.

Short articles I've written are listed after this tweet feed:


Be selective, be objective, be an asset to the collective Soul II Soul

Gather 2013

As always, the Gather 2013 unconference was excellent. I used a mindmap to present on building a responsive editable website, real cheap, using Foundation and SurrealCMS (and also Apache, NearlyFreeSpeech and Bitbucket). Full article

Published 13 July 2013, tags: (none)

Producing CSV files from Java for French and German

I’ve been applying some limited internationalization to a US-centric Java-based web app: producing CSV files that give intelligible results when opened in Excel, without having to switch your Windows regional settings. Here are a few things I’ve learned along the way. Full article

Published 21 August 2011, tags: ,

New York City travel tips

Here’s a few tips on Manhattan street layout, getting around, security, eating and drinking, and swimming. Full article

Published 22 June 2011, updated 17 April 2015, tags:

Removing line noise with a user style sheet

I find text with underlining or strikethough difficult to read, so I use the following user style sheet to remove it, except when hovering over links. Full article

Published 31 May 2010, tags: ,

A pattern for scripts that update data

The following Bash script is designed to be run from a crontab entry. It performs a database update (using Oracle’s sqlplus), checks the output for errors, and adds a success or failure comment to a JIRA ticket by sending an email to the JIRA instance. Full article

Published 25 April 2010, tags: ,

What's the problem we're trying to solve?

When a discussion starts to get overly general, and seems to be generating more problems than solutions, a simple question can help regain some focus. Full article

Published 9 February 2009, tags:

Hibernate trap: Do not directly access fields in another entity instance

Hibernate is great, but about once a year we get bitten by using it incorrectly. Latest lesson: Don’t directly access fields on any instance other than ‘this’. Use the appropriate getter instead. Full article

Published 6 February 2009, tags: ,

Comparing XML using line-oriented diff tools

If you need to compare two XML files that have only a few differences, you can use vimdiff or other line-oriented diff tools. You first need to format the XML with one attribute per line Full article

Published 26 November 2008, tags: ,

Correct, in error, appropriate, or inappropriate? How are you going to know?

Today a colleague sent a diagram dividing a system into ‘correct’ and ‘in error’ portions through phases of waterfall development. Full article

Published 17 October 2008, tags: