About

Who am I?

Hey, I am Donald Urquhart, also known as Swiftless online, and I am the person behind Swiftless.com.

Donald Urquhart

I started programming in 2002 with Visual Basic 6 while I was at high school. That was followed fairly quickly by C, C++, C#, PHP, JavaScript and whatever else I could get my hands on. I even spent time with some of the more specialised and fun stuff like GML and ActionScript, because apparently learning one language at a time would have been too sensible. I have now been doing this long enough that some of the technologies I once thought were modern are themselves legacy, which feels a little rude.

These days I am a Senior Software Developer at RDI Partners in Adelaide, working on AI agents, automation and web systems development. Most of my recent work is around .NET, Blazor, Azure, SQL, APIs and web applications, but over the years I have worked across everything from old VB6 and WebForms systems through to React, mobile applications, e-commerce platforms and cloud infrastructure.

The common thread is that I like practical software. I enjoy taking something messy, manual or difficult to maintain, understanding how it actually works and turning it into something simpler and more useful.

Over the years I have also had the chance to develop for a fairly fun mix of platforms and devices: Windows, Mac, Linux, Xbox 360, the Nokia N900, iPhone and Android, alongside the web and mobile systems that became a much bigger part of my career later on. That early variety is probably part of why I still enjoy cross-platform development and finding out what breaks when code leaves the machine it was written on.

How did I end up writing graphics tutorials?

Computer graphics actually started for me well before university. Like a lot of teenagers who got into programming, I liked video games and I wanted to make them. Once I started learning how games were put together, I found myself getting especially interested in the graphics side of things – rendering, lighting, 3D maths and making something appear on screen that was not there a moment earlier.

I specialised in graphics pretty early in my learning journey, so by the time I reached university it was already the area I naturally gravitated towards. While studying Software Development at the University of South Australia I worked in the Wearable Computer Lab and Magic Vision Lab, researching augmented reality, mobile mixed reality and user interfaces. I worked on the graphics side of the projects and contributed to the research ideas, so there was a healthy amount of C++, OpenGL and shader work involved.

That research led to peer-reviewed publications at ISMAR and IEEE Virtual Reality, and along the way I was lucky enough to receive student scholarships for ISMAR 2009 and Apple’s WWDC 2009. It was a very good excuse to spend an unreasonable amount of time playing with graphics code and calling it research.

Swiftless grew out of that same period of learning. I was getting stuck, eventually getting things working and then writing down the explanation I wished I had found in the first place.

What do I do professionally?

My career eventually moved from research and graphics into business software, but I never really lost the same problem-solving mindset. I have spent years modernising legacy applications, building internal systems, automating warehouse and operational workflows, integrating e-commerce platforms, working across cloud infrastructure and helping other developers deliver and support production software.

I still enjoy getting down into the code, but I am just as interested in the reason the software exists. If an application is technically beautiful but makes the person using it do five unnecessary steps every day, there is probably still work to do.

What is Swiftless?

Before it was a website, Swiftless was my gaming tag. I came up with it as a teenager when I was playing a lot of FPS games – things like Counter-Strike and Soldier of Fortune 2. I was pretty good at them and enjoyed the competitive side, so calling myself Swiftless was a bit of misdirection: if I was “less than swift”, maybe somebody would underestimate me. At least that was the theory.

The name stuck, became my online identity and eventually became the name of this site.

Swiftless.com has now been around for the better part of 20 years. It started as a programming and computer graphics tutorial site and, somehow, it is still here.

A lot of the original tutorials are now historical – particularly the fixed-function OpenGL and AGEIA PhysX material – but I think there is value in preserving them properly rather than either deleting them or pretending they are brand new. I am gradually reviewing the old content, fixing genuine mistakes, improving the formatting and explanations, and adding compatibility notes so it is clear what is historical and what is still current.

The newer side of the site follows the same basic idea, just with different technology: .NET, Blazor, Azure, AI, automation, web development and the odd problem I have solved that did not have a useful answer sitting at the top of Google.

If something here helps you understand why a piece of code works rather than just giving you something to copy and paste, then Swiftless is still doing what I wanted it to do all those years ago.

Good luck coding!
Donald / Swiftless