From Organic Design
< Nad
Jump to: navigation, search
Legacy.svg Legacy: This article describes a concept that has been superseded in the course of ongoing development on the Organic Design wiki. Please do not develop this any further or base work on this concept, this is only useful for a historic record of work done. You may find a link to the currently used concept or function in this article, if not you can contact the author to find out what has taken the place of this legacy item.

Aran Antony Dunkley, born 1972

I'm a computer programmer with interests in collaborative computing, systems thinking and philosophy. I have been developing software and hardware since 1985, starting with machine-level programming of early CPU’s and micro-controllers such as Z80, 65xx, TMS320x, ADSP-21xx, x86 etc as well as designing basic hardware around these chips. Since 2005 I've been hacking and extending MediaWiki software and have written several private MediaWiki extensions for corporate intranets and over thirty publicly available open source extensions (pseudonym User:Nad), I'm an active contributor on the MediaWiki support desk and the #mediawiki IRC channel. Recent interests include experimenting with P2P organisational infrastructures by combining Distributed Hash Table (DHT) and semantic web technologies using RDF and the C programming language. I maintain about 30 servers for clients as well as my own server which hosts a small wiki farm of about fifty wikis and is used as a testing environment and code repository for many of the current extensions I have written. Current development work includes a new P2P collaborative organisation architecture, a distributed security architecture, P2P MediaWiki and various MediaWiki extensions including more robust security and SWF-based real-time interface.

Summary of Skills

  • Web 2.0 - Collaborative web systems, specialising in extending MediaWiki
  • Web 3.0 - Semantic Web, RDF-XML, Triple-spaces and ontologies
  • P2P - Tuple space models, Distributed object models, Distributed Hash Tables
  • C, C++ (C++ Builder, Visual C++), PHP (3, 4 and 5), PERL, Python, Java, JavaScript, ActionScript, Delphi, VB & VBA (Access, Excel, Word), XML, SQL
  • Network protocol implementation - familiar working with BSD (Berkley Socket Distribution)
  • GNU/Linux installation and admin (incl. DNS and BIND)
  • e-commerce and consultation experience.
  • LAN setup and admin (Linux or NT)
  • Machine-level knowledge (Assembly language, device drivers, services/daemons)
  • Basic hardware design and development skills

Technical History

1989 → 1995

I moved in to RISC and DSP, a lot of work involved development of device drivers and designing peripheral cards for Acorn RISC architecture. In this period, I did a great deal of design in the area of digital video processing, which involved development of parallel DSP cards. As well as hardware development this also involved a lot of C programming and CPU specific machine-coding. During this time I did a lot of contract programming work for a UK educational company called Sherston Software, and also spent 18 months doing machine-level programming for a company called the Electronic Group who developed video hardware.

1995 → 2000

Moved in to the PC and Internet world. I operated small IT, ISP & E-Commerce oriented businesses in one form or another until around 2000. Most development during this time has been under Linux and OpenBSD using mainly MySQL, PHP, PERL and Flash. During this time I gave lectures and personal tuition covering MS Office, book-keeping and budgeting, office-organisation and design using Photoshop, Corel Draw, Freehand and Flash.

2001 → 2004

During this time I was developing high-level information management systems involving integrating information of varying formats over multiple connectivity protocols. This has involved object-oriented-database design and distributed-computational-space technologies. Languages involved have been PHP, PERL, C++, Java, JavaScript, ActionScript, XML and SQL.


I became involved with the MediaWiki community in writing extensions and answering technical questions for MediaWiki users. One such extension is XmlWiki which uses XML to offer object-oriented features to the wiki-article environment. I also began developing a completely new wiki system written in PERL using Flash as an interface and based on a P2P network architecture instead of a web-server environment.


Work continued on MediaWiki and XmlWiki (object wiki), but P2P aspect of the project moved to C and OpenGL because the low-level operating system integration was proving too constrictive in other programming environments. I developed an efficient mulitplexed TCP socket server specifically designed to integrate with the generic organisational system under development for the P2P collaborative architecture.


In 2007 I wrote around twenty more MediaWiki extensions and started experimenting with P2P organisational infrastructures by combining Distributed Hash Table and semantic web technologies using the RDF based data structures in a C programming environment. The XmlWiki object wiki environment was abandoned this year in favour of extending the standard MediaWiki environment. I spent a lot of time becoming more familiar with the GNU projects and how they might be tied together to achieve some of the high level goals of distributed collaborative systems such as bottom-up large-scale organisation.


This year I began collaborating with others on the Organic Design site to get a project management, workflow and organisational system developed within the MediaWiki environment which we call Wiki Organisation. This system is similar to what was planned with XmlWiki, but uses Web3.0 semantic annotations instead of XML properties articles. I have also begun work on a set of extensions designed to allow MediaWiki to work in a peer to peer network instead of relying on a central web server. The first step of this is the MediaWikiLite which has been completed and allows the wiki to use the smaller SQLite database instead of MySQL which is too resource intensive for most client-side use.

Recent interests

For the last three years I have been researching the underlying philosophies behind distributed systems, conceptual issues limiting current programming paradigms, and the development of general bottom-up strategies of information processing, collaborative systems and organisational solutions. I have been doing occasional contract work and voluntary development of open source code.

See also