Author Archive

Terrible Photographer versus Total Solar Eclipse

November 16th, 2012 No comments

There are about 70 total solar eclipses per century, but each one is visible only from a narrow stretch of the Earth, and only for a few minutes. Therefore, being in the right place at the right time under suitable viewing conditions to experience full totality qualifies as a once-in-a-lifetime event. I travelled from Sydney up to Palm Cove (a beach resort just north of Cairns) to see the total solar eclipse of 14th November 2012. Here’s what happened.

Arrive in Palm Cove on 13th Nov. The eclipse will take place tomorrow morning. Sunrise will be at 5:34am and the partial eclipse will start at 5:45am, shifting to totality at 6:39am until 6:41am. Then, there will be a second period of partial eclipse as the moon’s shadow drifts away, ending at 7:41am. For now, the weather oscillates threateningly between sunshine and deep, dark cloud cover.


Palm Cove, the day before the eclipse.

Read more…

Categories: Uncategorized Tags: ,

Sunday Afternoon Project: Ruin my Desk

December 18th, 2011 No comments

About a year before moving to Sydney, I was on the verge of buying a house in the UK. I was serious about it: I had learnt about mortgages, calculated my budget, and even smiled at an estate agent. I viewed 40 properties before I finally came to my senses, and realised that becoming a homeowner is probably the only boring way to put yourself in a lifetime of debt.

Here’s one thing I will never forget about the experience: out of those 40 houses, 39 had cripplingly, devastatingly, pathetically small windows. Why most people in the UK seem happy to ignore and perpetuate this obscene design flaw is a mystery to me.

English people.

English people (except me).
(Fear of Light, ©2007-2011 ~Cutteroz)

Anyway, I’m happy to say that my new room here in Sydney has two sets of huge 2x3m French windows – one East facing, one West facing – each one leading to a balcony. Aside from being awesome, this leaves me with just one solid wall, and therefore an excuse to fulfill a childhood dream1: Read more…

Categories: Uncategorized Tags: , ,

Eclipse breakpoints hidden by gutter clutter: a workaround

October 8th, 2011 No comments

In Eclipse, breakpoint icons tend to get obscured by other notification icons, like override or quick-fix notifications.

The workaround, as described in this bug comment, is to configure the breakpoint annotation type with additional display properties.

To do so, open General > Editors > Text Editors > Annotations and configure your breakpoint annotations as you see fit:

If you select “Text as: Dashed Box”, you can get something like this (note the dashed box around the method name, indicating a method entry breakpoint):

Not the prettiest solution, but at least that’s one less mild annoyance to deal with.

Categories: Uncategorized Tags: ,

Top 4 Things to do in Australia

April 23rd, 2011 1 comment

I’ve lived in Australia for 5 months now, and although I’m yet to venture outside of Sydney, I feel fully qualified to provide some tips on making the most of your time should you ever come over. Read more…

Preserving File Permissions with Ant Tasks

January 23rd, 2011 No comments

I confess I rant about Ant a fair bit, but in truth Ant tasks provide a lot of useful functionality. Even if you don’t use Ant directly, you can still take advantage of the tasks by using, say, Groovy’s AntBuilder.

Ant and File Permissions

Ant’s file system tasks, however, have one big disadvantage: they tend to lose or ignore Unix file permissions. This well-documented limitation Read more…

Categories: Uncategorized Tags: ,


November 28th, 2010 5 comments

After 7 fantastic years with IBM, I thought it might be time for a little change. So, I have left Chandler’s Ford for Sydney and joined Atlassian.

A little change.

Sydney Bound

I thought spending 22 hours sitting on the Heathrow/Singapore/Sydney flight might be overwhelmingly boring, but it turned out OK. I didn’t get to ride an A380 – they were temporarily pulled just before my ticket was booked – but the replacement A747-400 was surprisingly comfy. Using SeatGuru helped Read more…

Writing Portable Shell Scripts on z/OS UNIX

June 27th, 2010 2 comments


z/OS UNIX is a facet of z/OS that makes the operating system more approachable to those of us who weren’t brought up around 3270 terminals. Amongst other things, it provides support for remoting into the z/OS mainframe under a choice of UNIX shells (a simple Bourne-style shell or tcsh), access to a hierarchical file system, and a handful of Unix tools like ls, vi and grep (which work fine, as long as you don’t expect them to behave quite the same way as on other Unix systems). Like the rest of the operating system, z/OS UNIX is an EBCDIC environment.

EBCDIC Variants

My previous post brought up the topic of variant characters in EBCDIC. In summary, the characters shown below can be represented by different byte values depending on the locale under which a user is running:

\ ^ ~ ! [ ] { } # | ` $ @

This raises following question: how can you distribute a z/OS UNIX shell script that will “just work” for any z/OS user, given that entities like the comment character (#), hashbang (#!), pipes (|) and the variable marker ($) might need to be represented by different bytes in different locales? Read more…

Categories: Uncategorized Tags: , ,

If you � Unicode, you’ll ����� EBCDIC

June 11th, 2010 3 comments

One of the projects I’ve been working on over the past few months is the Dynamic Scripting feature pack for CICS. It runs on z/OS, which is an interesting environment for a few reasons – not least because it’s an EBCDIC platform.

Know your charset

A character set defines which byte value is used to represent a given character. So the choice of character set is a concern that should crop up whenever raw bytes are interpreted as character sequences, or character sequences are converted to raw bytes. For example, care should be taken to use the correct character set when writing text to a file, or reading character data from the body of an HTTP response.

Often, it’s tempting to ignore the concern. The vast majority of Read more…

sMash, Twitter and OAuth

June 6th, 2010 No comments

Here’s a little example sMash app showing how to authenticate with Twitter using OAuth. If you’re not familiar with OAuth, here’s a good introduction (part II is especially useful).

This example uses the signpost OAuth library. The code is based on this simple signpost example.
Read more…

Java Classpath Length

October 10th, 2009 1 comment

Really long classpa…!

The maximum classpath length that Java can handle depends on many factors, including platform and JDK implementation. As far as I can tell, the limit is usually undocumented, but can be as low as a few thousand characters. Additionally, elements beyond Java’s control, such as the shell, can also affect how many characters can safely be used in a classpath.

In practice, this means that the classpath you request can be truncated before the JRE processes it… and you might not find out until you get a very confusing ClassNotFoundException.

Java wont always respect huge classpaths

Launching with a ludicrously long classpath? Java might miss some of it!

If circumstances dictate an uncomfortably long classpath at launch time, there are a few ways to condense it without resorting to single-character symbolic links.
Read more…

Accessing DB2 from sMash

July 12th, 2009 1 comment

I couldn’t find a simple example that explicitly shows how to connect to DB2 from sMash, so I put one together. You can grab the resulting example sMash application using the zero command line like this:

zero modulegroup addurl
zero create db2App from soal:db2App

(On a side note, notice how I’m hosting a zero repository containing my app right here on! Read more…

Dutch PHP Conference 2009 Retrospective

June 19th, 2009 2 comments

DPC ended last weekend, so I’m a little late with my write-up. However, the event was sufficiently memorable to still be fresh in my mind. :)

Like the vast majority of attendees, I was massively impressed by the superb selection of talks and the attention to detail inherent in every aspect of the organisation of DPC ’09. Big thanks to the Ibuildings folks for this. One example of the love they poured into the event is the conference introduction video, which was played on a large screen before the opening keynote. It included customized avatars for every speaker, including me… even though I was a very late addition to the speaker list!

Performance and scalability seemed to be the unofficial themes Read more…
Categories: Uncategorized Tags: , , , ,

WebSphere sMash @ Dutch PHP Conference on 12th June 2009

June 6th, 2009 1 comment

Jonathan Lawrence and I will be presenting an introduction to WebSphere sMash at the Dutch PHP Conference on Friday. Here’s a quick overview of what we’ll be talking about:

Don’t hesitate to come chat with us between the talks, particularly if you’re curious about running PHP on the Java Virtual Machine or integrating PHP and Java code.

If you like the sound of this, read more about PHP on Java with WebSphere sMash or check out some WebSphere sMash demos on YouTube.

Categories: Uncategorized Tags: , , , , ,

SPL Talk at PHP London

May 8th, 2009 2 comments

Last night I presented the Standard PHP Library at the PHP London User Group. The aim was to give an overview of the extension and to entice people into coming to TestFest, of which the London and Manchester incarnations will be focussing on SPL.

Thanks to all who attended! Here are the slides for those who couldn’t make it:

Categories: Uncategorized Tags: , ,

WebSphere sMash at SAP Unconference

April 4th, 2009 No comments

Today Ant and I did a quick demo of sMash at SAP Inside Track London 2009, an unconference organized by Darren Hague and Nigel James. The idea was to show how sMash could be used to rapidly script up situational web apps (aka “satellite apps”) that integrate with SAP and provide extra, peripheral functionality.

After the talk, Dennis Howlett fired a few questions at me on camera:

What a brilliant day and an great way to learn about SAP & meet SAP mentors!

Categories: Uncategorized Tags:

Using Nginx to Proxy Requests to sMash Apps

March 28th, 2009 No comments

I now have a few sMash apps sitting on my VPS, running on different ports.  I wanted to be able to access each of them on their own subdomain  – like this :

Application URL Real location
App Builder
WordPress blog
Some Other App

( is my VPS’s current IP address)

I had no idea how to do this, but it turned out to be fairly simple:
Read more…

Getting started with sMash on a Virtual Private Server

March 11th, 2009 No comments

It took less than an hour to get this blog up and running on WebSphere sMash on a Virtual Private Server, starting from nothing at all. Here’s how you can get started too:
Read more…

Categories: Uncategorized Tags: , ,