Month: September 2013

  • Bash arrays

    Bash arrays are a lot like Bash Associative Arrays, but with numbers as keys. Here’s a quick reference. Basics $ declare -a MYARR # Create an array $ MYARR[3]=foo # Put a value into an array $ echo ${MYARR[3]} # Get a value out of an array foo $…

  • Using if:set, unless:set etc. with macrodefs in Ant

    In a previous post I outlined how to use if:set and unless:set to execute tasks conditionally in Ant 1.9.1. Unfortunately, this does not work with macrodefs. When I try to execute a macrodef conditionally like this: <project xmlns:if=”ant:if” …

  • Using if:set, unless:set etc. to execute a task conditionally in Ant

    I’m not sure anyone except me is still struggling on with using Ant, but just in case, here is a nice thing. In Ant 1.9.1 they added a useful feature: instead of needing to use the <if> tag and similar from ant-contrib, you can conditionally exec…

  • Writing: The Ethical Programmer

    The latest C Vu magazine from ACCU is out now. It contains my latest Becoming a Better Programer column. This month it’s called The Ethical Programmer; the first instalment of a two-part series on ethics a…

  • Writing: The Ethical Programmer

    The latest C Vu magazine from ACCU is out now. It contains my latest Becoming a Better Programer column. This month it’s called The Ethical Programmer; the first instalment of a two-part series on ethics a…

  • Vim for Fun

    I have recently got quite excited about Vim (the text editor), so here is a video showing you the basics. I use it because I enjoy learning it. Slides: Vim for Fun.