I am obsessed with performance, tuning, and optimisation. To help you get the maximum possible performance out of your IT applications, I offer a range of services - whether it's designing and developing new systems or speeding up existing ones.

Design and Development

If you are starting a new development project then I can help make your application lightning-fast. With a mixture of experience and best practices, you can be sure that your system will be as efficient as possible.

  • Systems architecture design - from embedded to enterprise
  • Creation of efficient algorithms and protocols
  • Developing fast, efficient code
  • Optimising applications or web sites to ensure a fast user experience
  • Designing and developing optimised databases for high-speed data storage and retrieval

For larger projects I can save you money by just developing the performance-critical components, leaving your existing developer base to continue with the non-critical parts.

Troubleshooting

I am skilled at identifying and resolving performance problems with existing software.

Some performance issues are easy to find - it is just one part of a system that is causing the problem. Others, however, are more trickly. It may be that there is not just one component at fault, but the interaction between many different parts that is causing the problem. These situations are harder to diagnose and resolve.

Not only do I have experience and skill of dealing with individual technologies, but I can help you to solve performance issues with systems as a whole.

No Improvement, No Fee

I am so keen to get my hands on your software to make it run faster, that I offer a complete guarantee: if I cannot improve the performance of your application by at least 10%, you pay nothing.

From single scripts or SQL queries, to entire complex message-passing systems, irrespective of whether you have a known issue or you just want your system to be faster, if I can't speed it up then there's no fee.

The investigation and analysis is free, the cost is fixed, and the result guaranteed. So you get no nasty surprises, and literally have nothing to lose.

Technologies

Whatever your requirement, I can help you achieve the best performance using any of the following:

  • Web: HTTP, CSS, JavaScript, Apache, Boa, CGI, FastCGI, Servlets.
  • Java: core, J2SE, J2ME.
  • Relational databases: design, indexing, SQL, on-line transaction processing (OLTP), decision support (DSS), data warehousing, database applications.
  • Microsoft SQL Server, Sybase, MySQL etc.
  • UNIX (Solaris, HP-UX, Linux) development: C, Shell, Perl, AWK, etc.
  • Inter-process communication (IPC) and networking (TCP, UDP).
  • Architectures: client-server / request-response, N-tier, single- / multi-threaded, message-passing / asynchronous etc.
  • Mobile application architectures.
  • Algorithms: design and implementation
  • Protocols and protocol design.
  • Resource-constrained systems, e.g. embedded systems.

I undertake all sizes of application, from single scripts or database queries, to full multi-tier systems.

Emergency Call-out

I can provide short-notice services for the emergency resolution of performance problems (subject to availability). If your system is eligible then the call-out is also covered by my unique "no improvement, no fee" guarantee.

Education and Training

I can create and deliver custom performance and tuning training to your exact requirements: from one-to-one tuition and mentoring, to group seminars. This can be tailored to your environment, and in many cases can be as a follow-up to the resolution of a particular performance issue at your site.