An independent UK software developer, with extensive real-world experience and expertise in a wide variety of tools and technologies, spanning an Internet generation. My skill-set is larger than I could possibly enumerate here, and it is constantly expanding.
My background in mathematics means I am well-placed to develop code which is both efficient and demonstrably correct; and the breadth of my development expertise equips me with a wide of paradigms, techniques and tools to deploy on each project.
* Software design, development and implementation.
* Code reviews - quality and security analysis.
* Platform ports (language, OS, hardware).
* Web front-end and UIs dev't.
* Web back-end and DB systems.
* System/software security and admin.
I don't claim to be the cheapest offering, but I guarantee excellent value for money and a high quality end product/service. Invest in quality, scalability, portability, and reliability, and you'll save money in the long run.
Unix (FreeBSD, NetBSD, OpenBSD, Solaris, HP-UX, GNU/Linux), Microsoft Windows 9x/2000/NT/XP, Cisco IOS.
... including YUI 2.x. and 3.x, jQuery, backbone.js. prototype and others.
I'm intimately familiar with the capabilities, quirks, and features of the various mainstream web browsers: Mozilla Firefox (Gecko, including Mozilla, Netscape), Opera, Chrome, Internet Explorer, Safari (WebKit, including Google Chrome), Links, Lynx.
Perl, PHP 4 and 5, Python, Unix shell scripting, C/C++, x86 and SPARC assembly, SDL, GTK, POSIX APIs, the Win32 APIs, standard SQL, PostgreSQL, MySQL, SQLite, Berkeley make, GNU make.
Notable Perl modules: DBI, Catalyst::*, LWP::UserAgent, WWW:Mechanize, MIME::Lite, Net::FTP, the Template Toolkit, YAML.
Objective-C, OpenGL, Flash/Flex. Java, Python.
I employ the use of object-orientated programming where it makes sense, and try to utilise good design paradigms, building upon existing technology as appropriate. At the same time, I enjoy building things from the ground up -- ignore what's been done before and reinvent the wheel -- only better, more efficient, or more secure!
Design paradigms and development methodologies come and go with each passing year. Someone comes up with a new way of doing things and everyone wants to jump on board and be the latest company to sign up. I tend to sit back and observe as these events arrive and pass, reaching into the stream of noise and plucking out the best bits -- the good ideas, and assimilating them into my own work flow. Sometimes the best ideas go unnoticed by the masses, and I think I've picked up a few little gems - secret weapons, if you will - over the years that I like to use in my own architectural designs. And of course, I like to think that someone somewhere is reading my code, taking ideas and inspiration from me.
Returning from that digression, I'd like to conclude that design matters. Software design is all-important. And good design makes the difference between having an unmaintainable mess (which may well work, and seemingly perform its duty satisfactorily) and having something which has durability -- ultimately leading to value.
I possess a mastery of Regular Expressions.
I am a developer with the FreeBSD project, and a regular contributor to open-source projects in general.
- Software engineering, development and implementation.
- Web and graphics design.
- System/network planning.
- Server administration, optimization and security.
All development work completed to a high standard, with a major emphasis on:
Perl5 Expert Certified