Blog

  • Need an app for social good?

    lightbulbs representing ideas

    Charities and health organisations, do you need help bringing an exciting app idea to life? If your idea could help improve lives, get in touch on web@subsymbolic.net. I am looking for a project.

  • A loss of human dignity

    Almost a decade ago, I visited San Francisco for a developer conference. I got off the train and walked straight into the crack district. Before me were some of the most retched people I have ever seen, most passed out, limbs arranged unnaturally, as if they had just dropped. Some had soiled themselves.

  • Privilege

    I have travelled so freely, that the one time I was refused entry into a country for screwing up VISA requirements, my response was to argue my way in.

  • iOS URL schemes

    A list of common iOS system URL schemes. Use the links below to validate that your app supports these correctly.

  • Finding the right level of documentation

    Writing only meaningful documentation reduces confusion and leaves devs with more time to code. Use simple tools to get the job done.

    Developer documents

    I was asked for my thoughts on code documentation today and realised how much my approach has changed over the years. In my eager early days of development, I thought the mark of a true professional was someone who, in addition to writing quality code, also took the time to document it beautifully. I added block comments to classes and methods and sprinkled helpful inline comments throughout my code. These days, I take a very different approach.

  • The 150 Challenge

    Graph showing challenge progress to completion

    I read about ultrarunner Marco Consani’s personal challenge to run 5 kilometres a day in November. Marco took on the challenge during an off-season period of inactivity and it had a huge impact on his morale and health. He now encourages people to take part in the Marcothon, a 5km (or 25 min) a day challenge, each December — the month most people’s health and fitness fare badly.

  • The fitness bug takes hold

    Trekking Annapurna, Nepal

    After having booked a hiking trip to Nepal in my early 20s, I began to panic. I had done some light hiking in the past, but never anything like the hard full-day trekking I had just signed up for.

  • How I started running

    I was in my 20s and I had shelved my social life and returned to university. I loved my degree but I was drowning — it was a double with more contact hours than felt humanly possible. Between lectures; tutorials; assignments and part-time work, my general fitness had declined. Noticeably. A short sprint to catch a tram would leave me feeling faint.

  • The future of online card payments

    If you shop online you will invariably have seen 3-D Secure, a service used to protect online card payments, embedded in your payment screen under one of its guises. Perhaps as Verified by Visa or MasterCard SecureCode.

  • 7 Objective C tips to avoid memory mistakes

    Apple Memory Management

    There is no argument to be had about whether ARC is beneficial. The reduction of boiler-plate memory code, is alone, enough to justify its use. The elimination of issues resulting from objects being incorrectly retained or released also saves developers untold hours debugging weird memory management issues.

  • USB charging woes

    ASUS Nexus 7 2012

    Lately, I have been plugging in an ASUS Nexus 7 Android tablet to charge and while it has powered up, its battery has continued to sit at a very sad 0%.

  • Insect eye inspired mini projector

    Today I found myself discussing the likelihood of mini projectors replacing physical screens on mobile devices.

  • When will we see hybrid displays on tablets?

    It’s been two years since I made my loud, bold proclamation that I would shun all tablets until I could have a hybrid display.

    You see, in my mind, the perfect tablet would combine the rich, bright vibrant media consumption capabilities of AMOLED screens with the kind-on-the-eyes reading experience provided by something like Kindle’s eInk.

  • Using assertions in production

    Code assertions provide a clear way to define the required behaviour of an application. For example, the following Java assertion states that the variable number should be non-negative

  • Perfect Design?

    A stack of UML diagrams

    As time goes on in the life of a software project, the codebase grows and complexity increases. This along with hacky bug fixes, tacked-on functionality and quick improvements can turn a project into a large multi-functional, inter-meshed disarray.