I'd very much like to apply my technical expertise to your enterprise.

I'm especially interested if yours is a small business; a Community Interest Company (CIC); or a not-for-profit organisation. And if, like me, you try not to take yourself too seriously but do take seriously the benefits from deploying today's cheap, powerful computing to help us do what we do better, then ... this is beginning to sound like we could derive mutual benefit from what we love to do.

The big corporations have benefitted greatly from our information technology. Now it's our turn and today's cheap, powerful, and readily accessible computing can greatly improve the effectiveness of our enterprise.

What can I offer? What do you need?

These are some of the things I can do for you and have done for clients:

  • I evaluate new technologies like Docker Containers and Function as a Service (FaaS) like OpenWhisk
  • I have designed and built my not-for-profit clients' websites.
  • I set up their own in-house company server.
  • I write programs for them
  • I write accurate specifications of their computer systems

I would be happy to do these for you, too.

Websites and Web Apps

Designing, building, testing, and maintaining a good bespoke website is becoming much less cost-effective as affordable off-the-shelf products have matured to meet users' expectations. It is no longer something I undertake lightly.

On the other hand, nearly all "apps" or Application Programs are "web-apps" these days so, whereas I have provided both the "front-end" user interface to a web app on a complete website, we use parts of the same technology like Django typically to provide RESTful Application Programming Interfaces (APIs) to cloud-based services or a web-based app whose front-end may be browser-based or in a mobile app on IOS.

Having said this, here are some websites that I've made for not-for-profit clients:

1 Content Management Systems (CMS's)

Bradfford Abbas Parish Council: A Parish Council website that serves the requirements of the UK's "Transparency Code for Smaller Authorities"

Misfits Theatre Company: Brilliant theatre company in Bristol run by, and for, learning-disabled adults. Video; Audio; Feedback forms; Newsletters. Content uploaded and maintained by the theatre company themselves.

2 Static websites

Here it's easier to concentrate on the visual impact and user experience - rather than working to contain the mercury of a Content Management System - as static websites have no underlying database.

Andrew Houston - Photographer: his business website. A favourite.

Three Black Ponies - Photograph galleries: looks good on either desktop or mobile devices.

This- which you are now reading - is a static website using the Pelican blogging program. Most of the content is text to be read, so I have kept everything except the home page as clear and easy to read as I can.

Go to top.

Think about your own company server

A company server is a much simpler thing than it used to be. I can show you how to use it - and forget about it!

These days the clever server technology is merely a commodity that requires little attention; and no longer requires expensive third party service departments or contractors.

Your company server provides the following core services:

  • Secure email for each company member - using the company's own domain name, of course.
    • IMAP mailboxes available on users' desktops and mobile devices.
  • Secure web sites (s) using the organisation's SSL Certificate for encrypted sessions with web visitors.
  • Shared Calendars
    • Automatic notification of new meetings; changed meeting times and locations; automatic allocation of roomand resources like projectors - and so on.
  • Shared Address Books / Contact database(s)
  • Shared Wiki documents for collaboratively developing ideas; managing and reverting to published versions.
  • All the above services available on users' desktops and mobile devices.
  • Virtual Private Network for secure acccess to computers and file storage within the company's private intranet.
  • And more ...

All this is provided by Apple's brilliant OS X Server app running either on one of your own Macs on your own premises or, if appropriate, on my Mac server offsite. The underlying technology is reliable, open source Unix technology tried and tested in millions of cases over decades and widely contributed to by the Unix community; the clever bit is how it is all pulled together in a layer of Apple's familiar genius that makes it a reliable and easy-to-use commodity.

This £14.99 app - a brilliant piece of technology - does not rely upon a few, overworked people developing proprietary experiments, but widely understood, powerful and efficient software

Go to top.

Programming Languages

Please see programming


No program can really be considered to "work" unless there is some specification against which to measure its behaviour.

The most important thing about a specification is that the team - including the clients and developers - share as near a single idea idea of what it is they are developing.

I have worked with different teams that use everything to make a specification from a file of Keynote or Powerpoint diagrams through UML to the more formal and precise English of a specification in the Z notation (more on this below).

Development methods

There's a lot I could say about this, and too much said about it elsewhere, probably, but I must mention how much I enjoyed working in detail through Harry Percival's book: Test-Driven Develpment with Python (O'Reilly). I develop my own projects using most of the tools and many of the techniques in Harry's excellent and enjoyable book. Git, Fabric and Jenkins really do remove much of the stressful side of developing software.

Go to top.

My background


Although I have a background in Research & Development - see 25 of my entries as a (co-)inventor in the European Patent Ofiice database; and (easier to read) some technical and academic papers amongst this lot at Google Scholar.

Technology for all

Nowadays I am more interested in the down-to-earth: seeing how to help organisations who couldn't otherwise afford practical technical expertise. This goes back to my roots as a programmer developing practical sysyems ranging from a Spares Control System at Ruston-Paxman Diesels using IBM's BOMP and DBOMP software; and a pioneering Securites Exchange system in Wall Steet in 1973.

CICS and Queens's Award

I was also a programmer and designer on the team of IBM's most successful software product: CICS. We received the Queen's Award for Technological Achievement jointly with the University of Oxford's Programming Research Group in 1992 for our use of Software Engineering mathematics in our specifications using the Z notation. I wrote in this Springer Verlag volume about how we succeeded in saving substantial development costs.

It has been said that western capitalism was running on CICS as 99 of the Fortune 100 companies were running on it along with the majority of Fortune 500 companies. CICS is now a component of IBM's Websphere family of products.

Websphere and CORBA (OMG)

Another software product that is used by many large companies like Bank of America is IBM's CORBA-compliant Websphere Application Server. I was an architect of one small part of Websphere: the Object Transaction Service (OTS or, in JEE, the JTS). I think I am most pleased with coming up, along with Mark Little and others at Newcastle University, with the Object Mnanagement Group's (OMG's) Object Activity Service which is an innovative generalisation of the OTS that enables long-running business transactions or units of work (LRUOWs); this was finally included as part of the Java infrastructure in JEE four or five years later in 2003.

Alumnus of the University of Oxford

I have an MSc in Computing Science from the University of Oxford.

The future

Anyway. As fascinating as is this history, the present is just as much fun and the future quite possibly more so! As long as we can concentrate our minds on collaboration rather than confrontation, we will prosper.

Not what you want?

I shan't be all things to all people and it may well be that the things I can do you cannot make use of, and the things you need I cannot do.

For example: If you have a network of Macs whose Software Updates you need coordinating and cacheing; then I will happily set that up for you; if you need an app written for IOS or Mac OS X, or some interesting Python web programming doing, then I may be able to help you. If, though, you have a network of Windows machines that needs sorting: there are people better qualified than me to whom I can pass on the work.

Anyhow, if you're interested in talking with me, do give me a call on +44 7799 065 932 or email me.