Welcome

Eat • Sleep • Code

Welcome

Hello! I'm David, a software developer.

I try to approach software as a pragmatic craftsman: someone who delivers quality solutions that create real business value, and who can adapt and operate effectively across different technologies and domains. This blog is where I share technical insights and reflections from that journey.

You can reach me via email or LinkedIn.

And I share code on GitHub.


On Coding

I began coding when I was young, building simple games and dabbling with 8-bit sprites. I wrote my first game on the VIC-20, then moved on to the C64 and the incredible Amiga 500. Those were wonderful days of exploration in BASIC, Pascal, C, and Assembly, eventually leading on to the i386, DOS, and int 21h.

At the age of twenty, I began my career in COBOL on the old ICL mainframes, and with Ingres/C on Sun Solaris. It has been quite the journey, from the pre-thunking days to modern .NET and AI-enabled systems.

I have used many programming languages over the years, but I'm most capable in Delphi, C# and C++Builder.

I've used C# continually in some capacity since its beta in 2001, first discovered Delphi in 1998, and C/C++ goes back to the late 80s. I enjoy learning languages; they provide different ways of modelling and solving a problem.


On Abstractions

I've always been drawn to abstraction. I enjoy the process of shaping concepts, responsibilities, and boundaries into forms that are both useful and elegant. That instinct has influenced the languages I prefer, the frameworks I build, and the kinds of problems I enjoy solving.

I am also drawn to requirements gathering, systems analysis, software design, and architecture. I enjoy the work of translating real-world concerns into coherent systems, and refining those systems until the right shapes begin to emerge. This is where I am most naturally at home.


On Family

Many moons ago (many...) I managed to confuse a lovely Singaporean lady enough to marry me.

Family Picture
Gin Koaloa
Farm with Rainen

Since then, we've been blessed with four children. While they were young, we often relocated between Singapore and Australia so they could spend time with their grandparents.

Garden with Rainen
Family Picture
Family Picture

As a result, I've had to embrace contracting, adapt to different cultures, job markets, business domains, and tech stacks. This also gave me the opportunity to meet and work with many wonderful people, for which I am grateful.

Family Picture
Family Picture
Family Picture

We're now settled in the UK.


On Philosophy

Truth is declarative being.

— St. Hilary

When I was younger, I enjoyed practicing math, but then the Siren of Philosophy entered the room, and like Boethius, I was captivated by her beauty.

I like considering the abstract. I think wisdom lies in contemplating the big picture. The details exist for the sake of the abstraction. For example, I understand Skyrim far better by playing the game than by poring over its binary representation. Yet it is fascinating, as a developer, to notice the incredible design and order in the details—such as in cell structures—and take inspiration from that when coding.

Aquinas and OOD/OOP
Exploring parallels between object-oriented development and the metaphysics of St. Thomas Aquinas.
Ontology → OOD/OOP
Aquinas OOP Description
FormClass Defines essence, structure, and potential behaviors.
ExistenceObject The instantiated form; a particular being in memory.
PotencyInterface Potential behaviors that exist within the type.
MatterState That which individuates objects and makes each instance unique.

Philosophy deals with abstractions, a fundamental concern in software design and the production of elegant, flexible code. Much of my approach to software craftsmanship finds its roots in Lady Philosophy's charm. Even now she beckons, proposing an alternative approach to designing decision-making agents.

Lady Philosophy

On Cricket

Growing up in Australia during the 80s, I was absolutely cricket mad. Wonderful times—summer approaching, Christmas approaching, and the Poms on their way over for the Ashes. And there was nothing more awe-inspiring than watching Joel Garner terrorize batsmen.

My friends and I lived and breathed the great game. One of my friends, Greg Williams, went on to play for Somerset in the UK. My sister used to prepare the pitch at Wanneroo Cricket Club, often bumping into Damien Martyn. Other former team mates like Gary Darnell also represented Wanneroo, with baggy #62, alongside players like Michael Hussey, David Hussey, and Marcus North. At Ocean Reef under 18s, Gary and I smashed 162 off 22 overs. Gary went on to get his hundred with our squad scoring 4/212 after 30 overs.

I remember, as a boy, rather thoughtlessly asking David Gower for an autograph when he was warming up with his batting gloves on. I also fondly remember bumping into the West Indies in a nightclub, chatting with Michael Bevan, spending a day at Kim Hughes's house, and asking Dennis Lillee for bowling advice.

Cricket Image

Thank You

Well, that's about me in a cup of tea. Thank you kindly for visiting the site. Please feel free to leave a comment; all feedback is welcome. Or drop an email, I'd love to hear from you.