philosophy
I can have pretty strong views at times, however, I can distill most of my motivation to two points, software freedom and software quality. That is, I have little or no tolerance for encumbered or poor quality software. On the flip-side this means I can offer as much as possible to everyone, and what I offer will be of the highest quality that I can pursue. To elaborate:
I strongly believe in the freedom of software. I push hard to support those companies and groups that share this value. Whether software is paid for or given away, how you use – change – modify – move that software should be beyond reproach. With this in mind, all content and source (including any html, css and javascript) is licensed in a way to make it accessible. In general, content for markh.id.au and eminentfu.org is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 License. In general, source code is licensed under GPL v3. There are a few exceptions to this, however they will be clearly noted. If anyone wishes to use content or code from markh.id.au or eminentfu.org and finds that the licenses I have applied do not fit their purpose I am open to discussion with respect to alternate licenses – assuming you are not doing something dodgy :).
Beside freedom, I place immense value in quality. Quality could be viewed as subjective, however, across all programming languages and styles, code base quality has a way of standing out. A quality code base can be quickly identified by its clarity of concepts, compositional aspects, consistency, simplicity and to an extent its size. Code quality is invariably a leading factor in decisions I make and motivates change in my approach quicker than any other. Of particular importance in my quest for quality is the somehow accepted, yet utterly unacceptable, practice of identifying certain code as acceptably bad or quick and dirty. This practice generally arises when developers are out of their comfort zone, such as application developers writing scripts. I endeavour to, and have great respect for others who, treat all coding tasks with the utmost care and attention – even more so in those domains where there is discomfort. My experience has shown that this has immeasurable benefits over the alternate approach where developers write off particular pieces of code before they even start. The measured approach is invariably quicker, over both the short and long term (contrary to popular belief, you rarely have to wait long to see the benefits), will produce better results every time, and most importantly will produce results that can be built upon over time for improvement measured in orders of magnitude.